Solved

Connecting To an Oracle DB with PHP

Posted on 2009-07-08
6
729 Views
Last Modified: 2013-12-13
Hello,

I'm trying to connect to a oracle database using PHP.  I have already enable the extension OCI8 and tried to connect. However when I try to connect I get the error message:


Fatal error: Call to undefined function oci_connect() in C:\wamp\www\test\connection2.php on line 15

Below is the code I'm using to connect. For some reason, i think Its not recognizing the OCI. If anyone see anything wrong with my code please let me know thanks.
$c = oci_connect("username","password","localhost/xe");

Open in new window

0
Comment
Question by:Robert Thomas
  • 3
  • 3
6 Comments
 
LVL 9

Expert Comment

by:Sander Stad
ID: 24811952
Are you sure you enabled the Oracle extension. Can you try do get the results from phpinfo() from your server?

To do this:
- Create a new php file
- Put in the code below
- Open the php file through your webserver in a brwoser



<?php
 
phpinfo();
 
?>

Open in new window

0
 
LVL 9

Expert Comment

by:Sander Stad
ID: 24811987
If it is enabled you should get something like:

OCI8 Support => enabled
 Version => 1.2.4
 Revision => $Revision: 1.269.2.16.2.38 $
 Active Persistent Connections => 0
 Active Connections => 0
 Oracle Version => 10.1
 Compile-time ORACLE_HOME => /ORACLE/app/oracle/product/client
 Libraries Used =>
 Temporary Lob support => enabled
 Collections support => enabled

If it's not enabled you should check if you've edited the right php.ini file.

If everything is ok try the code below to create a testpage to see if the connection succeeds.
I see that you're using "localhost/xe" in your connection. Try to use the local ip address "127.0.0.1" to connect. Windows might create problem by using the value "localhost".

<?php
if ($conn = oci_connect('hr', 'hr', '//127.0.0.1:1521/xe')) {
  print 'Successfully connected to Oracle Database XE!';
  oci_close($conn);
} else {
  $errmsg = oci_error();
  print 'Oracle connect error: ' . $errmsg;
}
?>

Open in new window

0
 

Author Comment

by:Robert Thomas
ID: 24816098
I think I properly enable oci8. But its not showing on the information page. I went into the php.ini file and enable it in the the extension area by taking away the ";".  But I just found the OCI8 section below. Probably a stupid question, but do I need to un-comment and enable all the scripts in that section?
0
SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.

 
LVL 9

Expert Comment

by:Sander Stad
ID: 24820627
If the extension is not showing on the info page than you did not enable it. You probably have multiple php.ini  files.
Can you search your server/computer for the php.ini files.

If you want to set different settings like max connection etc then you can enable th settints in the OCI8 section.
0
 

Author Comment

by:Robert Thomas
ID: 24836989
I've checked there appears to be only one.  The only place oci8 appears in the php info in the configure command:

cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack" "--with-pdo-oci=C:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8=C:\php-sdk\oracle\instantclient10\sdk,shared"

Is there any possible way that the extension could be blocked by another extention?
0
 

Accepted Solution

by:
Robert Thomas earned 0 total points
ID: 24892352
I had to edit the the system path and install the system client before the oci8 extension could be used.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Note: You must have administrative privileges in order to create/edit Sharing Rules. Salesforce.com (http://www.salesforce.com) (SFDC) is a cloud-based customer relationship management (CRM) system. It is a database most commonly used by sales an…
Messaging apps are amazing tools with the power to do a lot of good, but the truth is the process of collaborating with coworkers requires relationships established through meaningful communication - the kind of communication that only happens face-…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question