我写了一个php脚本,必须在php解释器(没有Apache)上运行,它使用带有Oracle数据库的adodb库,但是当我尝试运行它时,我收到以下错误:
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
我已经检查过,并且启用了php_oci8和php_oci8_11g,因此应该定义常量。此外,当我使用Apache运行此脚本时,它没有任何问题。
提前致谢!
答案 0 :(得分:8)
快速搜索后,我找到this page。如果你没有在php.ini中启用oracle扩展,那么常量是未定义的。尝试搜索
行;extension=php_oci8.dll
在你的php.ini中并删除分号以取消注释它。然后,重新启动Apache以加载模块并查看它是否连接。
编辑:
尝试通过执行类似print_r(ini_get_all())
的操作来转储php.ini变量,并查看设置内容和不设置内容。您可能正在使用不同的php.ini作为命令行。
答案 1 :(得分:1)
我遇到了使用32位和64位的wamp问题。我不得不使用带有32位wamp服务器的32位Oracle瘦客户端来使其正常工作。