我正在尝试在 WAMP 设置中安装 Laravel。我收到一条警告消息,提示我没有启用我已经在 WAMP 中完成的openssl 。
这是消息的屏幕截图。
我正在尝试在 WAMP 设置中安装 Laravel。我收到一条警告消息,提示我没有启用我已经在 WAMP 中完成的openssl 。
这是消息的屏幕截图。
WAMP 和 Composer 可能使用不同的 PHP 安装。Composer 将使用PATH
环境变量中设置的 PHP。
如果要启用openssl扩展来安装Composer,首先需要检查 PHP 安装的位置。
echo %PATH%
然后检查 PHP 安装的位置。php.ini
。extension=php_openssl.dll
通过删除开头的分号取消注释该行。现在您可以安装 Composer。
我以不同的方式解决了我的问题。问题是 wamp 的 GUI 具有误导性:它声称我已经php_openssl
启用.. 如果我点击php.ini
同一个 GUI.. 它实际上表明extension=php_openssl.dll
没有注释..
我不确定我是否使用相同的安装程序版本的 OP 作曲家,但它实际上在一开始就要求您指定php.exe
您想在其上应用作曲家(这基本上确保没有人试图将作曲家应用到错误的 php 可执行文件与 OP 发生的情况一样)..
我解决这个问题的方法是自己进入 wamp 包中的 php 安装:C:\wamp\bin\php\php5.4.12
然后看php.in
那里..当我打开它时,我很震惊该行extension=php_openssl.dll
实际上被评论了!我取消了它的注释,它工作得很好。
我遇到了同样的问题,在这里我找到了解决方案,在您的php.ini上您需要进行一些更改:
extension_dir = "ext"
extension = php_openssl.dll
这里的每个人都在谈论激活 openssl 扩展,但在 Windows 中,您也需要激活扩展目录。
对于 WAMP 服务器,“Enrique”给出的评论解决了我的问题。
wamp 正在使用这个php.ini:
c:\wamp\bin\apache\Apache2.4.4\bin\php.ini
但是作曲家正在使用 CLI 中的 PHP,因此它正在读取这个文件:
c:\wamp\bin\php\php5.4.12\php.ini (so you need to enable openssl there)
对于作曲家,您必须在
c:\wamp\bin\php\php5.4.12\php.ini
改变:
;extension=php_openssl.dll
至
extension=php_openssl.dll
如果您在没有WAMP 堆栈之一的情况下在 Windows 上执行此操作,请按以下步骤操作
C:\php
。Composer 的安装程序在没有任何额外提示的情况下找到了它php.ini
. 相反,您将看到两个文件,如下所述。将一个重命名为php.ini
或复制到php.ini
.
打开您的php.ini
文件并从此行中删除分号(您可能还想取消注释其他内容,但此行是 Composer 唯一需要的行)
;extension=php_openssl.dll
这应该是你需要做的所有事情。Composer 安装程序应该从这里完成您需要的所有其他工作。
您需要在两个文件(php 和 apache)中启用“extension=php_openssl.dll”。我的电脑文件路径是这些:
这是一个老问题,但我也遇到了同样的问题(使用 PHP7),最终解决方案非常简单。不过,根据其他答案取消注释该行php.ini
还不够。我需要将其更改为:
;extension=php_openssl.dll
至:
extension=ext/php_openssl.dll
注意ext
前缀。dll 已经存在但在子文件夹中。更改配置后,作曲家安装程序很高兴。
您需要启用 openssl 扩展
C:\wamp\bin\php\php5.4.12\php.ini
那是它类型的 php 配置文件具有“配置设置”,带有类似驱动程序记事本的图标。
openssl 扩展前有一个分号
;extension=php_openssl.dll
删除分号,您将拥有
extension=php_openssl.dll
有两个php.ini
文件,一个用于开发,一个用于生产。留下这些,在它们上方还有另一个php.ini
用于配置设置的文件,上面有一个像图标编辑这样的齿轮。
编辑“正确”文件(所有 php.ini 文件)后。我还有这个问题。我的解决方案是:
添加系统变量:OPENSSL_CONF
OPENSSL_CONF 的值应该是你当前 php 版本的 openssl.cnf 文件。
对我来说是:
-> 重新启动 WAMP -> 现在应该可以工作了
我遇到了同样的问题,但是当我在寻找 php.ini 和 php.exe 时,我在 C:\UwAmp\bin\php\php-5.4.15 找到了 php.exe,而 php.ini 在 C:\UwAmp\bin \阿帕奇。我只是在 C:\UwAmp\bin\php\php-5.4.15 复制 php.ini 并取消注释行 extension=php_openssl.dll 并修复它。
我正在使用 WAMP 服务器。实际上它的文件显示 openssl 已打开。但是我手动去了文件夹并编辑了php.ini
. 然后我发现它没有打开openssl。我取消了它的注释并且在WAMP重启后它工作了。
C:\wamp\bin\php\php5.3.13
浏览到显示如下的行:
;extension=php_openssl.dll
并删除该行前面的分号。重新启动您的 WAMP 服务器服务(单击图标托盘>“重新启动所有服务”
如果您仍然无法解决您的问题,请查看此内容。这可能是您正在寻找的解决方案
C:\wamp\bin\php\php xyz 文件夹中有几个 php.ini 文件。您可能会找到生产、开发和其他一些 php.ini 文件。无需编辑生产和开发文件。找到与下图完全相同的文件。(你可以找到它。只需在搜索栏中输入 php.ini 并进行搜索)。打开文件并删除;从扩展=php_openssl.dll。保存文件并关闭它。重新启动 Wampp 服务器中的所有服务。重新安装你的作曲家。
这就对了。
Wamp 与 C:\wamp\bin\apache\Apache2.4.4\bin\php.ini 中的另一个 php.ini 一起工作。所以你需要手动找到正确的文件,即在 C:\wamp\bin\php\php5.4.12\php.ini 中。取消注释 extension=php_openssl.dll 行,然后尝试再次安装 Composer。
如果您从源代码编译,则添加extension=php_openssl.dll
到 php.ini 文件可能不起作用。
要解决此问题,请打开命令提示符并键入php -i
. 向上滚动到第一行,它将告诉您有关 php.ini 文件的最新错误。
为了解决这个问题,找到php_openssl.dll
文件,对我来说它在编译输出的同一个目录中:
C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS
所以只需将扩展名所在的目录添加到php.ini
:
extension_dir = "C:\php-sdk\bin\phpdev\vc14\x64\php-7.0.13-src\x64\Release_TS"
希望错误会消失
对于那些和我有同样问题的人。完成上述所有解决方案后,仍然对我不起作用。我发现,uWamp 正在 bin/apache 目录中创建 PHP.INI 文件。于是只好将PHP.INI文件拷贝到php安装目录,即bin/php/phpXXXX目录下。这也应该是您从作曲家设置中选择的 php.exe 所在的位置。
希望这可以帮助。
如果您使用的是 xampp。回到您在安装开始时选择要使用的命令行 php 的位置,然后选择包含 xampp 文件夹的路径。之后,如果您的安装程序说您有重复的 'extension= php_openssl.dll' 用';'在你的 php ini 中注释一个 ssl 文件,你的安装应该可以顺利运行。