Расширение openssl требуется для защиты SSL/TLS
composer create-project flarum/flarum . --stability=beta
Я пытаюсь запустить эту команду, но это дало мне эту ошибку.
[RuntimeException]
The openssl extension is required for SSL/TLS protection but is not availab
le. If you can not enable the openssl extension, you can disable this error
, at your own risk, by setting the 'disable-tls' option to true.
Я попытался добавить "extension = php_openssl.dll" в "php.ini", но он все еще получил эту ошибку
Ответы
Ответ 1
Такая же ошибка возникла для меня. Я исправил его, отключив TLS для Composer, он не безопасен, но я принял на себя риск на моей машине .
попробуйте следующее:
composer config -g -- disable-tls true
и повторно запустите свой композитор. Он работает со мной!
Но это небезопасно и не рекомендуется для вашего сервера. Официальный сайт говорит:
Если установлено значение true, все URL-адреса HTTPS будут проверяться с использованием HTTP вместо этого, и не будет выполнено шифрование на уровне сети. Включение этого является угрозой безопасности и НЕ рекомендуется. Лучше всего включить расширение php_openssl в php.ini.
Если вы не хотите включать незащищенный слой на свой компьютер/сервер, тогда настройте свой php, чтобы включить openssl, и он также работает. Убедитесь, что расширение PHP Openssl установлено и включите его в файле php.ini.
Чтобы включить OpenSSL, добавьте или найдите и раскомментируйте эту строку в файле php.ini:
Linux/OSx:
extension=php_openssl.so
Окна:
extension=php_openssl.dll
При необходимости перезагрузите php-fpm/web-сервер!
Ответ 2
в соответствии с композитором ссылка есть два соответствующих варианта: disable-tls
и secure-http
.
nano ~/.composer/config.json
...
{
"config": {
"disable-tls": true,
"secure-http": false
}
}
то он много жалуется:
You are running Composer with SSL/TLS protection disabled.
Warning: Accessing getcomposer.org over http which is an insecure protocol.
но он выполняет composer selfupdate
(или что-то еще).
хотя нельзя просто "включить SSL в php.ini" в Linux; PHP необходимо скомпилировать с помощью openSSL, настроенного как библиотека shared
, чтобы иметь доступ к нему из PHP CLI SAPI.
Ответ 3
Чтобы включить openssl, перейдите в php.ini и включите эту строку:
extension=php_openssl.dll
Если вы не хотите включить openssl, вы можете установить, чтобы композитор не использовал openssl с помощью этой команды:
composer config -g -- disable-tls true
однако это проблема безопасности.
Ответ 4
У меня была одна и та же проблема, и я не мог найти решение, поэтому, подумав и искал какое-то время, я подумал, что мой PHP.INI, по-видимому, не смотрел в правильный каталог для моих PHP-расширений, поэтому я попал под
"Каталог, в котором находятся загружаемые расширения (модули)."
И нашел следующее:
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
;extension_dir = "ext"
И просто удалил; infront от "extension_dir =" ext ", обратите внимание, что это только для Windows, удалите точку с запятой перед первой версией extension_dir, если вы используете другую операционную систему.
Я понятия не имею, почему мой не был уже отмечен, но это просто то, что нужно искать, если у вас проблемы.
Ответ 5
Эта проблема возникает из-за открытия openssl и директора расширений, поэтому раскомментируйте ниже расширения в файле php.ini
extension=php_openssl.dll
extension_dir = "ext"
Работает на моей машине.