【发布时间】:2019-03-26 15:02:34
【问题描述】:
我对 PHP 的奇怪行为有点困惑,需要建议如何解决它。
我正在尝试测试非常简单的 php 脚本:
$conn = oci_connect($dbUser, $dbPassword, $dbServerName . "/" . $dbName);
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
不幸的是它让我下一个错误:
[22-Oct-2018 19:22:23] PHP Warning: PHP Startup: Unable to load dynamic library 'F:\PHP_x64\ext\php_oci8_12c.dll' - The specified procedure could not be found.
in Unknown on line 0
[22-Oct-2018 19:22:23] PHP Fatal error: Call to undefined function oci_connect() in F:\TEST\complain\test.php on line 8
我有一个位于 IIS Web 服务器中的项目。项目使用 PHP 版本 5.6.28。
在F:\PHP_x64\ext\ 文件夹内,我有文件php_oci8_12c.dll,如下所示:
在php.ini 文件中我有未注释的行:
extension=php_oci8_12c.dll
我也在php.ini文件中添加:
extension_dir = "F:\PHP_x64\ext\"
[PHP_OCI8_12C]
extension=php_oci8_12c.dll
我多次重启 IIS 网络服务器。
当我尝试从控制台调用 php.exe 时,它会显示下一个错误:
【问题讨论】:
-
您是否启用了任何其他 OCI dll?
-
@JayBlanchard 现在,我只有这个问题。我还尝试通过
mysqli_connect连接到远程 MySQL 数据库,它可以工作!我不确定,但对于那个 PHP 使用php_mysqli.dll扩展文件,对吗?在我的帖子中,我尝试连接到 Oracle 12C 数据库。兄弟,你有什么想法吗? -
没错。这是在 Windows 服务器上吗?
-
@JayBlanchard 是的,
IIS网络服务器位于Windows Server 2008 R2。 -
在 Windows 上,您通常可以通过将 'extension_dir'(在 php.ini 中)中指定的路径添加到 PATH 系统环境变量的值来解决这类问题。