Расширение 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», но он все еще получил эту ошибку

Такая же ошибка возникла у меня. Я исправил это, отключив 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-сервер!

согласно справочнику композитора есть два релевантных варианта: 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 .

Чтобы включить openssl, перейдите в php.ini и включите эту строку:

 extension=php_openssl.dll 

если вы не хотите включить openssl, вы можете установить, чтобы композитор не использовал openssl с помощью этой команды:

 composer config -g -- disable-tls true 

однако это проблема безопасности.

У меня была одна и та же проблема, и я не мог найти решение, поэтому, подумав и искал какое-то время, я понял, что мой PHP.INI, по-видимому, не смотрел в правильный каталог для моих PHP-расширений, поэтому я пошел:

«Каталог, в котором находятся загружаемые расширения (модули)». И нашел следующее:

 ; http://php.net/extension-dir ; extension_dir = "./" ; On windows: ;extension_dir = "ext" 

И просто удалил; infront из "extension_dir =" ext ", обратите внимание, что это только для Windows, удалите точку с запятой перед первой extension_dir, если вы используете другую операционную систему.

Я понятия не имею, почему моя уже не была отмечена знаком, но это просто то, что нужно искать, если у вас проблемы.

Эта проблема возникает из-за openssl и директора расширений, поэтому раскомментируйте ниже расширения в файле php.ini

extension=php_openssl.dll extension_dir = "ext"

Его работы на моей машине.