Я использую PHP 5.5.25
с Apache 2.4
по адресу Windows 7 x64
, и я не могу активировать модуль cURL. Я огляделся и попробовал все, что мог придумать. Пожалуйста помогите:Почему PHP отказывается включить cURL в Windows
- В
php.ini
, линияextension=php_curl.dll
активна, и файлphp_curl.dll
присутствует в каталоге расширенийC:\php\ext
- В
php.ini
когда я установилextension_dir = ext
, ни один из нагрузки расширений. Я получаю несколько сообщений при запуске Apache, аналогичноUnable to load dynamic library
ext \ php_openssl.dll- The specified module could not be found.
- Когда я использую полный путь и устанавливаю
extension_dir = C:\php\ext
, все расширения загружаются штрафом, кроме cURL. Я получаю ошибку:Unable to load dynamic library
C: \ PHP \ вн \ php_curl.dll- The specified module could not be found.
- Я попытался переименовать расширение на
php_curl.new.dll
и корректировкиphp.ini
, но я получаю сообщение об ошибке о новом имени файла. Я также загрузил новую новую копию DLL отwindows.php.net
, но это не имело никакого значения. - Я проверил права доступа к файлам для
php_curl.dll
(Щелкните правой кнопкой мыши на файле >> вкладке Свойства >> Безопасность), и они такие же, как разрешения для расширений, которые загружаются успешно - Я скопировал и вставил
libeay32.dll
иssleay32.dll
из каталога PHP бен в каталогах System32 и SysWOW64, как указывается в ответ на this question - Я уверен, что я редактирую право
php.ini
с момента сообщения об ошибках PHP запуска изменилось, когда я изменил значениеextension_dir
отext
доC:\php\ext
, как я объяснено выше. - Я решил перезапустить сервер Apache между изменениями конфигурации
php.ini
. - Если в скрипте PHP я выполняю
var_dump(file_exists('C:\php\ext\php_curl.dll'));
, я получаюboolean True
, поэтому PHP может видеть файл!
Что еще может объяснить, почему модуль cURL не включен?
Это сработало! Копирование случайных DLL с 'C: \ php' на' C: \ Windows \ SysWOW64' может вызвать проблему позже, потому что, когда я изменяю версии PHP, я не буду переписывать эти копии с DLL новой версии. Я думаю вместо добавления 'C: \ php' в переменную Windows PATH. Таким образом, все файлы DLL в PHP могут оставаться вместе и быть более легкими в обслуживании. Вы видите какой-то большой недостаток? – BeetleJuice
Нет, это разумная вещь. Хотя вы имеете в виду 'C: \ php \ ext', верно? Прошло много времени с тех пор, как я запустил PHP в Windows ... –
Расширения находятся в 'C: \ php \ ext', bu DLL, которые Windows не может видеть, находятся в' C: \ php' – BeetleJuice