我正在尝试在 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 --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
在升级到 PHP 7.4.10 (cli) 之前,我在 Windows 10 计算机上运行 php7.2.x
当我第一次拉出 php.ini 文件时,令我惊讶的是,它是空的。
为了确保我正在查看正确的文件,我做到了
php --ini
我正在查看正确的文件。
我查看了 XAMPP 的 php 文件夹,注意到两个文件:
我复制了第一个文件的内容并粘贴到我的 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 服务器。
这一次,一切顺利!
我已经知道了:PS C:\Users ndri\Desktop\Laravel irst-app> php --ini
配置文件(php.ini)路径:
加载的配置文件:C:\Users ndri.config\herd in\php83\php.ini
扫描其他 .ini 文件:(无)
解析的其他 .ini 文件:(无)