Php Composer不在windows上工作,出现[Composer\Exception\NossleException]错误
我正在尝试在windows 10上安装laravel。我安装了composer来安装laravel,但它给出了以下错误 [Composer\Exception\NossleException]openssl扩展是 SSL/TLS保护需要,但不可用。如果可以的话 如果不启用openssl扩展,可以在以下位置禁用此错误: 通过将“禁用tls”选项设置为true,您可以自行承担风险 命令不重要,它给出了以上所有命令的错误 我检查了问题并使用了解决方案,但它对我不起作用 我试过这些方法Php Composer不在windows上工作,出现[Composer\Exception\NossleException]错误,php,openssl,composer-php,Php,Openssl,Composer Php,我正在尝试在windows 10上安装laravel。我安装了composer来安装laravel,但它给出了以下错误 [Composer\Exception\NossleException]openssl扩展是 SSL/TLS保护需要,但不可用。如果可以的话 如果不启用openssl扩展,可以在以下位置禁用此错误: 通过将“禁用tls”选项设置为true,您可以自行承担风险 命令不重要,它给出了以上所有命令的错误 我检查了问题并使用了解决方案,但它对我不起作用 我试过这些方法 composer
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,它对应于发出命令的位置
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)
这是一个骗局。当我查看php安装目录时,我发现没有php.ini。有两个文件php.ini开发
和php.ini生产
。只需将其中一个重命名为php.ini
然后,在执行php--ini时,应该会看到正确的ini路径
- 设置扩展目录
然后,打开php.ini文件并取消注释以下行
;扩展名\u dir=“ext”
应该是
extension_dir = "ext"
- 启用扩展
然后以相同的方式取消对扩展的注释。以下内容通常是必需的。(但请从composer命令中看到的消息中找到所需内容)
在升级到php7.4.10(cli)
当我第一次打开php.ini文件时,出乎意料的是,它是空的
为了确保我看的是正确的文件,我看了
php --ini
我在看正确的文件
我查看了XAMPP的php文件夹,发现了两个文件:
php.ini-production.ini
php.ini-development.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.ini文件后重新启动Apache服务器
这一次,一切顺利 您确定更改了正确的php.ini
文件吗。执行php--ini
以查看您的php CLI使用的是哪个php.ini
文件php CLI和Apache使用的php不一定相互关联。重新启动Apache与PHP CLI无关,这再次让我觉得您编辑的PHP.ini文件是错误的file@RiggsFolly我明白了,但我确信我编辑了正确的php.ini文件。因为我在编辑之前使用终端do>php--ini
中的phpinfo()
方法进行了检查,并查看了输出。它将告诉您php客户端正在使用哪个php.ini
文件,我猜您已经安装了2个php。我还猜想您的路径指向PHP5文件夹,这就是为什么您在CLI中得到它。请检查您的路径,如果我是对的,请将路径更改为指向PHP7文件夹谢谢您解决了我的问题只是将php.ini复制到C:\Windows就足够了!!这解决了我的问题
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