2013-11-04 249 views
4

我遇到了PHP扩展的问题。我试图运行一个脚本,并没有任何反应,然后我检查了我的错误日志,这里是我得到了什么:在PHP的DLL“指定的模块找不到”

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.ini配置中启用。在线研究后,我看到一些人说,它必须复制到system32或sysWOW64文件夹,我没有成功。然后我试图在cmd中使用Regsvr32注册他们,我收到错误的每一个文件:

"The module name_of_the_module.dll failed to load" 

我不明白我在做什么错。

服务器配置的Windows 2008 R2 64位,IIS7,PHP 27年3月5日

+0

这个问题可能会更适合http://ServerFault.com/ – Spudley

回答

1

检查extension_dirphp.ini,它指向正确的目录。

# X:/path/to/php.ini 

# On Windows 
extension_dir = "ext" 
+0

这里是我的设置: ;可加载扩展名(模块)所在的目录。 ; http://php.net/extension-dir ; extension_dir =“./” ;在windows上: extension_dir =“C:\ Program Files文件(x86)\ PHP \ ext \” – zuboje

+0

我的错误,纠正了我的答案(路径应该是相对的,根据ini文档)。 – Fleshgrinder

3

在Windows上,我通过添加“extension_dir中”(在php.ini中)到PATH系统环境变量的值指定的路径解决了这些类型的问题。

+0

谢谢!你是对的。 instantclient路径需要位于全局env PATH中。 :) –

+0

只有这有助于解决这个问题:( – DarkSide

相关问题