这正成为一个非常令人沮丧的问题。我正在尝试进行Apache2.2和PHP 5.2.11的全新安装。一切似乎都配置正确,但php模块没有启动...
PHP Warning: PHP Startup: Unable to load dynamic library '.;C:/Program Files (x86)/Apache Software Foundation/Apache2.2/php/ext/php_mcrypt.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '.;C:/Program Files (x86)/Apache Software Foundation/Apache2.2/php/ext/php_mysql.dll' - The specified module could not be found.\r\n in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '.;C:/Program Files (x86)/Apache Software Foundation/Apache2.2/php/ext/php_openssl.dll' - The specified module could not be found.\r\n in Unknown on line 0在php.ini中
include_path = ".;C:\Program Files (x86)\Apache Software Foundation\Apache2.2\php"
extension_dir = ".;C:/Program Files (x86)/Apache Software Foundation/Apache2.2/php/ext/"所有的文件都在那里。ssleay32.dll、libmcrypt.dll、libmysql.dll、libeay32.dll等.dll文件都安装在...
C:/Program Files (x86)/Apache软件基础/Apache2.2/php/
我还将它们包含在C:\Windows\System32中
甚至将C:/Program Files (x86)/Apache Software Foundation/Apache2.2/php/添加到windows路径中。
我不知道为什么这不起作用,这感觉像是一个失败的局面。有没有人有什么办法让这一切正常工作?
发布于 2009-11-27 20:24:23
试试这个:
extension_dir = "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/php/ext/"而不是从.;开始
发布于 2017-05-06 13:00:41
您只需在php.ini中取消对extension_dir的注释

发布于 2016-09-20 23:13:52
如果没有别的,只为我未来的自己。这是在IIS 8上的Windows中运行的PHP 5.2.13。
我得到了以下错误:
PHP警告:
启动:无法加载动态库'C:\Program Files (x86)\PHP\ext\php_openssl.dll‘-找不到指定的模块。
从phpinfo()加载的php.ini文件是C:\Program Files (x86)\PHP\php.ini。
扩展目录:
extension_dir ="C:\Program Files (x86)\PHP\ext"以下是php.ini文件的最后两行:
[PHP_SQLSRV]
extension=php_sqlsrv_52_nts_vc6.dll
[PHP_OPENSSL]
extension=php_openssl.dllphp_openssl.dll和php_sqlsrv_52_nts_vc6.dll文件位于ext目录中。php_openssl.dll没有损坏(它的文件大小与另一台正在运行的机器上的文件大小相同)。
PHP将找到sqlsrv dll,但不会找到openssl dll。不知道为什么。再多的IIS重新启动也没有起到任何作用。
在我了解更多之前,解决方案是使用Windows PHP安装程序安装openssl.dll扩展。您可以重新运行安装程序并选择“更改”,它允许您添加或删除库。现在我看不出文件和php.ini文件有什么不同,但是现在文件加载了。
我怀疑我的问题实际上与这个comment about OpenSSL installation on Windows类似
此时,当您启动Apache时,它将尝试加载php_openssl.dll,但如果您的设置类似于我的设置,您将看到一个错误。我更喜欢手动启动Apache,错误出现在一个对话框中:"The序号4114无法在动态链接库LIBEAY32.dll中找到“。(我不确定如果将Apache作为服务启动,您是否会收到此消息)。Apache日志还包含一条错误消息,指出无法加载php_openssl.dll,尽管该消息没有指定libeay32.dll。欢迎来到DLL地狱。
因为php_openssl.dll依赖于Libeay32.dll (也依赖于ssleay32.dll),所以libeay32.dll才会出现。我认为发生的情况是,Apache首先尝试以编程方式从extension_dir键指定的路径加载php_openssl.dll。但是,所谓的依赖DLL的加载留给了Windows的默认机制。如果Windows发现依赖DLL的不兼容版本,则会出现错误。
在尝试从命令行运行php -i时,我注意到有关ssleay32.dll的错误。我只是假设它在环境中没有它。IIS在其日志中没有提到任何ssleay32.dll错误。
https://stackoverflow.com/questions/1808442
复制相似问题