【发布时间】:2022-01-27 07:24:39
【问题描述】:
我正在尝试在 WAMP 设置中安装 Laravel。我收到一条警告消息,提示我没有启用我已经在 WAMP 中完成的 openssl。
这是消息的截图。
【问题讨论】:
-
在环境变量
%PATH%中检查PHP的路径,可能Composer在其他位置寻找PHP而不是WampServer。
标签: php composer-php php-openssl
我正在尝试在 WAMP 设置中安装 Laravel。我收到一条警告消息,提示我没有启用我已经在 WAMP 中完成的 openssl。
这是消息的截图。
【问题讨论】:
%PATH%中检查PHP的路径,可能Composer在其他位置寻找PHP而不是WampServer。
标签: php composer-php php-openssl
如果您使用的是 xampp 。回到您在安装开始时选择要使用的命令行 php 的位置,然后选择包含 xampp 文件夹的路径。之后,如果您的安装程序说您有重复'extension=php_openssl.dll' 用';'在你的 php ini 中注释一个 ssl 文件,你的安装应该可以顺利运行。
【讨论】:
这是一个老问题,但我也遇到了同样的问题(使用 PHP7),最终解决方案非常简单。不过,根据其他答案取消注释php.ini 中的行还不够。我需要将其更改为:
;extension=php_openssl.dll
到:
extension=ext/php_openssl.dll
注意ext 前缀。 dll 已经存在但在子文件夹中。更改配置后,作曲家安装程序很高兴。
【讨论】:
如果您在 Windows 没有其中一个 WAMP 堆栈的情况下执行此操作,请按以下步骤操作
C:\php。 Composer 的安装程序在没有任何额外提示的情况下找到了它php.ini。相反,您将看到两个文件,如下所述。将其中一个重命名为php.ini 或将其复制到php.ini。
打开您的php.ini 文件并从该行中删除分号(您可能还想取消注释其他内容,但该行是 Composer 唯一需要的)
;extension=php_openssl.dll
这应该就是你需要做的。 Composer 安装程序应该从这里完成您需要的所有其他操作。
【讨论】:
你需要在
中启用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,然后在此处进行其他人建议的编辑。
编辑“正确”文件(所有 php.ini 文件)后。我还有这个问题。 我的解决方案是:
添加系统变量:OPENSSL_CONF
OPENSSL_CONF的值应该是你当前php版本的openssl.cnf文件。
对我来说是:
-> 重启 WAMP -> 现在应该可以工作了
【讨论】:
如果您从源代码编译,则将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 所在的位置。
希望这会有所帮助。
【讨论】:
我遇到了同样的问题,在这里我找到了解决方案,在您的 php.ini 上您需要做一些更改:
extension_dir = "ext"extension = php_openssl.dll这里的每个人都在谈论激活 openssl 扩展,但在 windows 中你也需要激活扩展目录。
【讨论】:
extension_dir的人,你太棒了!
您需要在两个文件(php 和 apache)中启用“extension=php_openssl.dll”。我的电脑文件路径是这些:
【讨论】:
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。
【讨论】:
如果您仍然无法解决问题,请查看此内容。这可能是您正在寻找的解决方案
C:\wamp\bin\php\php x-y-z 文件夹中有几个 php.ini 文件。您可能会找到生产、开发和其他一些 php.ini 文件。无需编辑生产和开发文件。找到与下图完全相同的文件。 (你可以找到它。只需在搜索栏中输入 php.ini 并进行搜索)。打开文件并删除;从扩展=php_openssl.dll。保存文件并关闭它。重新启动 Wampp 服务器中的所有服务。重新安装你的作曲家。
就是这样。
【讨论】:
对于 WAMP 服务器,“Enrique”给出的评论解决了我的问题。
wamp 正在使用这个 php.ini:
c:\wamp\bin\apache\Apache2.4.4\bin\php.ini
但是 composer 正在使用 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
【讨论】:
C:\wamp\bin\php\php5.3.13
浏览到以下行:
;extension=php_openssl.dll
并删除该行前面的分号。重新启动您的 WAMP 服务器服务(单击图标托盘 > '重新启动所有服务'
【讨论】:
我正在使用 WAMP 服务器。
实际上它的文件显示 openssl 已打开。
但是我手动去了文件夹并编辑了php.ini。
然后我发现它没有打开openssl。我取消了它的注释,在WAMP重启后它工作了。
【讨论】:
我遇到了同样的问题,但是当我在寻找 php.ini 和 php.exe 时,我在 C:\UwAmp\bin\php\php-5.4.15 找到了 php.exe,而 php.ini 在 C:\ UwAmp\bin\apache。 我只是在 C:\UwAmp\bin\php\php-5.4.15 复制 php.ini 并取消注释行 extension=php_openssl.dll 并修复它。
【讨论】:
我以不同的方式解决了我的问题。问题是 wamp 的 GUI 具有误导性:它声称我启用了 php_openssl.. 如果我在同一个 GUI 上单击 php.ini.. 它实际上表明 extension=php_openssl.dll 未注释..
我不确定我是否使用相同的安装程序版本的 OP 作曲家,但它实际上在一开始就要求您指定您喜欢在其上应用作曲家的 php.exe(这基本上确保没有一个尝试将composer应用于错误的php可执行文件,就像OP发生的那样)..
我解决这个问题的方法是在 wamp 包中安装 php:C:\wamp\bin\php\php5.4.12 并在那里查看 php.in.. 当我打开它时,我很震惊 extension=php_openssl.dll 行实际上被评论了!我取消了它的注释,它工作得很好。
【讨论】:
libeay32.dll 或liblibcrypto-*.dll 驻留在什么路径中? php.net/manual/de/openssl.installation.php
WAMP 和 Composer 可能使用不同的 PHP 安装。 Composer 将使用在PATH 环境变量中设置的PHP。
如果要启用openssl扩展安装Composer,首先需要检查PHP安装的位置。
echo %PATH% 然后检查 PHP 安装的位置。php.ini 的文件。extension=php_openssl.dll 行。现在您可以安装 Composer。
【讨论】:
echo %PATH% 我得到:C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\Sysem32\WindowsPowerShell\v1.0\;C:\Program files\Microsoft\Web Platform Installer\;C:\Program Files\MySQL\MySQL Server 5.5\bin.. 这些目录中没有安装任何 php.. 我现在该怎么办?
php.ini 中的 extension_dir = "ext" 行,但我使用的是普通 PHP 安装而不是 WAMP。