Расширение PHP OpenSSL не работает во время установки Typo3 6.2.2 на window7

Я установил Typo3 6.2.2 на window7, но получил сообщение об ошибке, как показано ниже:

PHP OpenSSL extension not working Something went wrong while trying to create a new private key for testing. Please check the integration of the PHP OpenSSL extension and if it is installed correctly.

Я пытаюсь найти решение в Интернете об этой ошибке, но я не могу решить эту ошибку.

Кто-нибудь знает, можете ли вы помочь мне найти решение, пожалуйста? Спасибо.

Ответ 1

Решение, которое работало для меня на XAMPP и Windows Vista:

  • Активировать модуль PHP openssl

    Откройте php.ini и раскомментируйте (delete ';') в:

    ;extension=php_openssl.dll

    Дважды проверьте, что расширение включено, запустив phpinfo().

  • Добавить переменную системной среды "OPENSSL_CONF" со значением

    C:\xampp\apache\conf\openssl.cnf

    ... если вы установили xampp в C:\xampp.

  • Установить путь к 'openssl.exe', который находится в папке C:\xampp\apache\bin

    • Либо установите $TYPO3_CONF_VARS['SYS']['binSetup'] в ...\htdocs\typo3_src-6.2.x\typo3\sysext\core\Configuration\DefaultConfiguration.php to 'openssl=c:/xampp/apache/bin/openssl.exe'

    • или добавить c:\xampp\apache\bin к переменной среды PATH (будет работать для каждого PHP скрипт не только TYPO3)

  • Перезапустить xampp

Ссылки/источники:

Ответ 2

Чтобы включить OpenSSL на PHP под Windows, необходимо выполнить три шага:

  • включить расширение - обязательно раскомментируйте эту строку в php.ini:

    extension=php_openssl.dll

  • Добавьте папку PHP в переменную среды PATH для Windows:

    Панель управления → Система → Расширенные настройки системы → Переменные среды.
    Найдите переменную пути в блоке Системные переменные.
    Подготовьте c:\php; перед ним или каким-либо образом ваш PHP-путь.

  • Создайте дополнительную переменную среды OPENSSL_CONF для Windows, которая содержит полный путь к файлу конфигурации OpenSSL PHP:

    Панель управления → Система → Расширенные настройки системы → Переменные среды.
    В блоке Системные переменные нажмите "Создать"... Имя переменной: OPENSSL_CONF
    Значение переменной: C:\php\extras\ssl\openssl.cnf
    Измените это значение в соответствии с вашим каталогом установки PHP!

Перезагрузите Windows, чтобы изменения среды вступили в силу.

Подробнее о поддержке PHP OpenSSL под Windows можно найти здесь.

Ответ 3

На typo3 6.2.7on win7 XAMPP 1.8.3

Решение проблемы openSSL должно было создать папку C:\openssl-1.0.1i-win32\ssl и поставить E:\Portables\xampp\apache\conf\openssl.cnf. Я получил направление об этом с немецкого веб-сайта.

Как я узнал (на всякий случай версии меняются), в оболочке на панели управления XAMPP команда openssl дает

ПРЕДУПРЕЖДЕНИЕ: невозможно открыть файл конфигурации: E:/Portables/xampp/apache/bin/openssl.cnf.

Но добавление файла там не поможет. Я добавил и удалил файл.

Добавить ;E:\Portables\xampp\apache\bin в переменную среды PATH (Свойства системы → Дополнительно). Выполнить команду openssl в окне CMD (не оболочке XMPP), сообщение:

ПРЕДУПРЕЖДЕНИЕ: невозможно открыть файл конфигурации: c:/openssl-1.0.1i-win32/ssl/openssl.cnf

Добавьте туда файл, добавление переменной окружения PATH можно удалить сейчас.

Добавление OPENSSL_CONF также не помогло мне.

Ответ 4

Установите глобальную переменную окружения OPENSSL_CONF в% ProgramFiles (x86)%\PHP\Current\extras\openssl.cnf

Ответ 5

Следующее решение может работать только при ручном запуске Apache-сервера, щелкнув по apache_start.bat внутри Xampp, другие варианты использования и серверные пакеты не тестируются или не покрываются.


Работа с несколькими версиями xampp и, возможно, несколькими несколькими фреймами. Я искал подход, который лучше всего подходит для следующих требований:

  • Структура никогда не должна знать о конфигурации или пути к исполняемому файлу openssl (в окнах: openssl.exe).
  • Не имеет значения, какой сервер запущен, всегда найден правильный путь к openssl, соответствующий версии сервера. Это позволяет избежать проблем, которые openssl может быть скомпилирован с другой версией, чем PHP или Apache-Server.
  • Переменные никогда не должны быть добавлены негибкими и статическими в PATH-Variable. Вместо этого они должны добавляться только до тех пор, пока сервер работает.
  • Остановка одной серверной версии и запуск другой серверной версии переключается без дальнейших действий на правильный путь openssl.exe и openssl.cnf.

Основываясь на этих требованиях к разработчикам, описанные мной шаги немного отличаются от текущих ответов на этой странице:

  • Включить openssl в файле php.ini для каждой серверной версии (т.е. xampp-1, xampp-2 и т.д.), удалив стартовую точку с запятой следующей строки: ;extension=php_openssl.dll

  • Откройте файл apache_start.bat каждой серверной версии и замените строку

    apache\bin\httpd.exe

    следующим фрагментом:
    SET OPENSSL_CONF=C:\xampp-x\apache\conf\openssl.cnf IF EXIST C:\xampp-x\apache\bin SET PATH=%PATH%;C:\xampp-x\apache\bin apache\bin\httpd.exe

    Обратите внимание, что вы везде заменяете C:\xampp-x\ на реальный путь к соответствующему серверу.

  • Перезапустите xampp либо с помощью apache_start.bat, либо с помощью панели управления xampp.

Это решение, естественно, работает также с одним сервером и с преимуществом, имеющим ограниченные PATH-Variables в общесистемной области.

UPDATE Если у вас все еще есть проблемы, связанные с TYPO3, независимо от метода, который вы используете, проверьте файл cookie_domain в installtool. Он должен применяться к текущему домену или быть пустым. неправильный домен cookie может произойти, если вы копируете проект с другого сервера, т.е. Для разработки.