我遇到了PHP扩展的问题。 我想运行一个脚本,什么也没有发生,然后我检查了我的错误日志,这是我得到的:
PHP Startup: Unable to load dynamic library 'C:\Program Files (x86)\PHP\ext\php_oci8.dll' - The specified module could not be found. in Unknown on line 0
以下文件也一样:
php_oci8_11g.dll php_pdo_oci.dll php_sybase_ct.dll php_com_dotnet.dll
除php_com_dotnet.dll之外的每个文件都安装了PHP安装,所有文件都在php.iniconfiguration中启用。 经过网上的研究,我看到一些人说要把它复制到system32或者sysWOW64文件夹中,我没有成功。 然后我试图在cmd中使用regsvr32注册他们,我得到每个文件的错误:
"The module name_of_the_module.dll failed to load"
我不明白我做错了什么。
服务器configuration是Windows 2008 R2 64bit,IIS7,PHP 5.3.27
PHP无法加载DLL文件,如果无法find该文件,或者该库具有无法find的依赖项。 如果文件位于正确的位置,则可能存在依赖库,无法加载。
例如(OCI8,从http://www.php.net/manual/en/oci8.requirements.php ):
OCI8 1.4扩展包含在PHP 5.3,PHP 5.4和PHP 5.5中。 它也可以从»PECL。 一个更新的OCI8 2.0版本只能从»PECL获得。 OCI8 1.4需要Oracle 12c,11g,10g或9iR2客户端库,并将安装在PHP 4.3.9以上。 OCI8 2.0需要Oracle 12c,11g或10g客户端库,并将安装在PHP 5.2之后。
如果Oracle数据库与PHP在同一台机器上,则数据库软件已经包含必要的库。 当PHP在不同的机器上时,使用免费的»Oracle即时客户端库。