This content has been marked as final. Show 10 replies
I think you didn't understand correctly. PHP reports that access to php_oci8.dll is denied:
"Unable to load dynamic library D:\php\ext\php_oci8.dll - Access is denied"
in message box, and then
Fatal error: Call to undefined function OCILogon() in d:\Inetpub\wwwroot\oracle_test.php on line 15
on a webpage.
As i said, extensions in php.ini are uncommented, security for all users on ORACLE home dir, and PHP dir is granted... i don't have a clue.
We used to get this error on both IIS 5 and IIS 6 with oracle 9i.
Its the permissions issue on oracle directory.
php_oci8.dll and php_oracle.dll call other dlls from the oracle client directory. If the IIS is allowed to use the anonymous logon it uses IUSR_<machinename> account to read the files, therefore this user needs to have read access on oracle installation directory.
after setting the permissions it worked for us.
Hi! I do not know if you still have the problem, but I had the same... Finally I found a document on google which wrote that three dll files I have to copy to the folder where TNSNAMES file is... Unfortunatelly I do not remember the name of the files, but one of them was oci.dll, and there were six or seven files in the same folder so you can copy all...
After that everything worked fine.
If you've set the environment variable TNS_ADMIN, this is where it'll expect to find tnsnames.ora. Otherwise the last resort is $ORACLE_HOME/network/admin. (On unix systems it also checks either /etc/oracle or /var/opt/oracle depending on the version of unix.)
However, if you're using the OCI driver and specifying hostname,port and Oracle sid (or servicename) in your connection details, then tnsnames.ora isn't used, since you've already specified explicitly everything it would need to get from that file.
Additionally, if you're using Oracle instant client, then tnsnames.ora is not used and you have to explicitly specify hostname,port,service_name/(or sid) to connect
Message was edited by: