Composer 无法在 Windows 上工作,给出 [Composer\Exception\NoSslException] 错误

问题描述 投票:0回答:3

我正在尝试在 Windows 10 上安装 Laravel。我安装了 Composer 来安装 Laravel,但它给了我以下错误。

[Composer\Exception\NoSslException] openssl 扩展名是 SSL/TLS 保护所需但不可用。如果可以的话 未启用 openssl 扩展,您可以禁用此错误,位于 通过将“disable-tls”选项设置为 true,您需要自行承担风险。

命令并不重要,所有命令都会出现上述错误...

我检查了this问题并使用了解决方案,但它对我不起作用..

我尝试了这些解决方案

composer config -g -- disable-tls true

extension=php_openssl.dll // open openssl extension in php.ini file. - I restarted apache after that but nothing changed
php openssl composer-php
3个回答
76
投票

我也有同样的问题。我做了以下事情来确保作曲家能够正常工作。

  • 找到与您发出命令的位置相对应的 php.ini。

php --ini

校正前的样本输出:

Configuration File (php.ini) Path: C:\WINDOWS
Loaded Configuration File:         (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

这里的C:\WINDOWS是一个骗局。当我查看php安装目录时,我发现没有php.ini。有两个文件

php.ini-development
php.ini-production
。只需将其中一个重命名为
php.ini

那么当你这样做时你应该看到正确的ini路径

php --ini

  • 设置扩展目录

然后,打开 php.ini 文件并取消注释以下行

;extension_dir = "ext"
应该是

extension_dir = "ext"
  • 启用扩展

然后以同样的方式取消注释扩展。通常需要以下内容。 (但是请从您从composer命令中看到的消息中找出您需要什么)

extension=fileinfo
extension=gd2
extension=mbstring
extension=openssl

4
投票

在升级到 PHP 7.4.10 (cli) 之前,我在 Windows 10 计算机上运行 php7.2.x

当我第一次拉出 php.ini 文件时,令我惊讶的是,它是空的。

为了确保我正在查看正确的文件,我做到了

php --ini

我正在查看正确的文件。

我查看了 XAMPP 的 php 文件夹,注意到两个文件:

  1. php.ini-生产.ini
  2. php.ini-development.ini

我复制了第一个文件的内容并粘贴到我的 php.ini 文件中。 然后重新启动后,我看到大量其他模块没有被加载。

然后我进入 php.ini 文件的 Dynamic Extensions 部分,并且必须取消注释所有以下扩展:

extension=bz2
extension=curl
extension=ffi
extension=ftp
extension=fileinfo
extension=gd2
extension=gettext
extension=gmp
extension=intl
extension=imap
extension=ldap
extension=mbstring
extension=exif      ; Must be after mbstring as it depends on it
extension=mysqli
extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
extension=odbc
extension=openssl
extension=pdo_firebird
extension=pdo_mysql
extension=pdo_oci
extension=pdo_odbc
extension=pdo_pgsql
extension=pdo_sqlite
extension=pgsql
extension=shmop

然后在保存我的 php.ini 文件后重新启动 Apache 服务器。

这一次,一切顺利!


0
投票

我已经知道了:PS C:\Users ndri\Desktop\Laravel irst-app> php --ini
配置文件(php.ini)路径: 加载的配置文件:C:\Users ndri.config\herd in\php83\php.ini 扫描其他 .ini 文件:(无) 解析的其他 .ini 文件:(无)

© www.soinside.com 2019 - 2024. All rights reserved.