Расширение 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"

Работает на моей машине.