Расширение 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 может произойти, если вы копируете проект с другого сервера, т.е. Для разработки.