PHP interpreter gets undefined constant OCI_COMMIT_ON_SUCCESS with ADODB

懵懂的女人 提交于 2019-12-19 09:03:36

问题



I wrote a php script that must be run on the php interpreter (Without Apache), which uses the adodb library with an Oracle database, but when I try to run it, I'm getting the following error:

PHP Notice:  Use of undefined constant OCI_COMMIT_ON_SUCCESS - assumed 'OCI_COMMIT_ON_SUCCESS' in c:\proyect\backend\libraries\adodb\adodb.inc.php on line 4248


I've checked, and have both the php_oci8 and php_oci8_11g enabled, so the constant SHOULD be defined. Also, when I run this script WITH Apache, it works without any problems.

Thanks in advance!


回答1:


After a quick search I found this page. If you don't have the oracle extension enabled in your php.ini then the constant is undefined. Try searching for the line

;extension=php_oci8.dll

in your php.ini and remove the semicolon to uncomment it. Then, restart Apache to load the module and see if it connects.

EDIT:

Try dumping the php.ini variables by doing something like print_r(ini_get_all()) and see what is set and what isn't. You may be using a different php.ini for the command line.




回答2:


I had issues with wamp using 32-bit and 64-bit. I had to use the 32-bit Oracle thin client with 32-bit wamp server to get it working correctly.



来源:https://stackoverflow.com/questions/9877592/php-interpreter-gets-undefined-constant-oci-commit-on-success-with-adodb

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!