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

2022-08-30 18:46:56

我正在尝试在Windows 10上安装laravel。我安装了作曲家来安装laravel,但它给了我下面的错误。

[Composer\Exception\NoSslException]openssl 扩展是 SSL/TLS 保护所必需的,但不可用。如果无法启用 openssl 扩展,则可以通过将“disable-tls”选项设置为 true 来禁用此错误,风险自负。

命令无关紧要,它给出了所有命令的上述错误...

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

我尝试了这些解决方案

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

答案 1

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

  • 找到 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-developmentphp.ini-productionphp.ini

然后,您应该看到正确的ini路径php --ini

  • 设置扩展目录

然后,打开php.ini文件并取消注释,以下行应该是;extension_dir = "ext"

extension_dir = "ext"
  • 启用扩展程序

然后以相同的方式取消对扩展的注释。通常需要以下各项。(但请从作曲家命令中看到的消息中找出您需要什么)

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

答案 2

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

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

为了确保我正在查看正确的文件,我确实这样做了

php --ini

我正在查看正确的文件。

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

  1. php.ini生产.ini
  2. php.ini开发.ini

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

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

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文件后重新启动Apache服务器.ini。

这一次,一切都管用!


推荐