我最近使用PHP 5.6
为Apache 2.4.10
安装并启用了oci8扩展,并在CentOS 6.4
64位上使用httpd, httpd-devel, php56w-* and mysql
。
我当时(12.1)使用了最新的Instant Client,并按照Oracle网站上的说明进行操作,
在安装pecl install oci8
时使用phpize
和oci8 2.0.8
选项,为shell和Apache设置环境变量,在modules/oci8.so
中提及php.d/oci8.ini
。
问题是,我可以通过在oci_connect()
这样的终端中使用php来调用php oci_test.php
,它可以正常工作,但是当我尝试从浏览器运行它时,它会返回Fatal error: Call to undefined function oci_connect()
。我已经阅读this solution但它没有用,并且在shell和httpd以及php中都正确设置了LD_LIBRARY_PATH和ORACLE_HOME。 (我打算使用yajra在oci上的laravel工作,所以它不使用连接字符串并动态生成它,所以它不需要TNS_ADMIN或任何.ora文件)
它在我的其他环境上运行正常,这是基于Windows的XAMPP控制器,使用oracle提供的php_oci8_12c.dll手动升级到Apache 2.4.10(64 ts vc11)和PHP 5.6(64)。