无法加载动态库


Unable to load dynamic library

我在UniserverZ中安装Composer时遇到了这个问题,我运行了这个命令

php -r "readfile('https://getcomposer.org/installer');" > composer-setup.php 

并返回错误

PHP警告:PHP启动:无法加载动态库"/extensions''php_curl.dll'-试图访问无效地址。在未知的第0行PHP警告:PHP启动:无法加载动态库"/extensions''php_openssl.dll'-试图访问无效地址。在未知的第0行

有人能帮我吗?我已经试着在php.ini中启用php_curl.dllphp_openssl.dll了。并在httpd.conf中启用加载模块mod_ssl。但它仍然不起作用,错误仍然存在。我正在尝试安装Laravel5。

统一服务器XII/Windows 7 64位/ph 5.6

在下面的步骤中,php应该替换为您的php根目录,对我来说是:B:''UniServerZ''core''php56ext是扩展目录的名称,通常只是"ext"或"extensions"

这对我有效:

  1. 确保php路径在path环境变量中:
    • 打开"控制面板"->"系统"->"高级系统设置"->"环境变量"
    • 用户变量和系统变量中都可能有一个Path变量,请同时选中这两个变量。如果您的php目录没有列出,请添加它。如果列出了多个php目录,请删除多余的目录
  2. 请确保您有以下dll-s:
    • php''libeay32.dll
    • php''libssh2.dll
    • php''ssleay32.dll
    • php*ext*''php_curl.dll(其中ext是您的扩展目录)
  3. 在php路径中编辑php.ini文件,即php''php.ini,并确保具有(或取消注释):
    • extension=php*ext*''php_curl.dll(或者仅extension=php_curl..dll可能有效)
    • extension=php_opensl.dll
    • 我也有,但不确定它是否相关:curl.cainfo=php''textras''ssl''accert.pem(您的证书)
    • 和:openssl.cafile="B:''UniServerZ''core''php56''extras''ssl''cachert.pem"
  4. 我还必须将上述所有四个dll-s复制到我的C:''Windows''System32和C:''Windows''SysWOW64目录中
  5. 我不得不重新启动机器(实际上,重新启动命令提示符是不够的)

希望这能有所帮助!