Обновление : похоже, проблема связана с поврежденными DLL-файлами где-то в моей установке PHP или, возможно, с ошибкой в PHP 5.2.9 на Win2k. Я загрузил дистрибутив PHP 5.2.10 (только для двоичных файлов) из php.net и извлек его в каталог c: \ PHP. После этого все работало нормально.
Update2 : Я расстегнул все, что я пробовал раньше (все из маркированного списка ниже), за исключением того, что я оставил « extension=php_curl.dll
» без extension=php_curl.dll
в моем файле php.ini. Оказывается, это все, что вам нужно сделать при правильной установке.
Я пытаюсь заставить CURL работать с установкой Windows на PHP (версия 5.2.9-2), и я нахожусь в конце. Я нашел страницу установки PHP CURL , этот вопрос SO, который ссылается на эту страницу , и этот вопрос SO . Я пробовал большинство предложений на всех этих страницах, но я все еще получаю сообщение об ошибке. Вот моя очень простая тестовая страница:
<?php $ch = curl_init(); ?> <b>Success!</b>
Это дает мне:
Неустранимая ошибка : вызов неопределенной функции curl_init () в C: \ ApacheRoot \ curltest.php в строке 2
В моем журнале ошибок Apache я получаю это каждый раз, когда сервер запускает:
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\PHP\\ext\\php_curl.dll' - The specified procedure could not be found.\r\n in Unknown on line 0
Я сделал следующее:
extension=php_curl.dll
следующая строка: extension=php_curl.dll
ssleay32.dll
и libeay32.dll
из C: \ PHP в C: \ WINNT \ System32 C:\cURL
в мою переменную среды PATH. extension_dir="C:\PHP\ext"
C:\PHP\ext
содержит php_curl.dll
php.ini
в моей системе находится в C:\PHP
(т. Е. Особенно, что нет C:\WINNT\php.ini
) httpd.conf
включает в себя строку PHPIniDir "C:/PHP/"
Я также перезагрузил машину (несколько раз, на самом деле …).
Вам не нужно перезагружать компьютер, просто перезапустите apache, и модуль php прочитает новый ini.
Вы изменили правильный php.ini? В случае сомнений
<?php echo 'php.ini: ', get_cfg_var('cfg_file_path'); ?>
может сказать вам.
Есть ли что-то в error.log apache, что указывает на то, что во время загрузки php и php_curl.dll что-то пошло не так?
Вы запустили apache как службу win32? Если вы попытались запустить его в качестве консольного приложения. Тогда сообщения об ошибках появятся на консоли. Или запустите его как сервис и посмотрите файл error.log и журнал событий Windows (start, run, eventvwr.msc /s
).
редактировать:
«Указанная процедура не найдена»
Вам нужна DLL, совместимая с вашей версией PHP и ее сборкой. Что именно вы установили и откуда вы его взяли?
Попробуй это:
Это, надеюсь, решит это.
* EDIT : сделайте то же самое @ C: \ Path \ To \ WAMP \ bin \ php \ PHPVersion \
Это то, что сработало для меня
Ответил Сорен из другого потока SO – CURL для WAMP
«Кажется, что-то есть ошибка. Если вы испытываете это на Win 7 64 бит, попробуйте установить apache addon version 2.2.9 и php addon version 5.3.1 и переключиться на те, что есть в WAMP, а затем активировать расширение CURL. для меня."
Это исправило это для меня:
Перейдите сюда:
http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/
Загрузить 'php_curl-5.3.13-VC9-x64.zip'
Остановить работу сервера WAMP
Извлеките файл «php_curl.dll».
На локальном компьютере найдите (или где будет найдена установка WAMP) c: \ wamp \ bin \ php \ php5.3.13 \ ext
Переименуйте php_curl.dll в php_curl.dll.old (или что вы выберите), а затем скопируйте новый файл в указанный выше каталог.
Перезапустить сервер WAMP
Теперь все должно работать нормально.
У меня была такая же проблема с php-5.5.26-Win32-VC11-x64 (в Windows), и я пробовал все перечисленные здесь без везения. Наконец, я получил его, добавив каталог установки PHP в Windows Path .
С PHP 5.6.9 в Windows Server Core 2012 x64 cURL не работал, а не появлялся в phpinfo, несмотря на разглашение расширения php_curl.dll в моем php.ini и перезапуск службы Apache 2.4. Добавлен путь php и путь php \ ext к пути $ evn:. Нет радости.
Исправлено: мне не нужно было загружать любой другой файл php_curl.dll и в любом случае не удалось найти его для PHP 5.6. В конечном итоге было выполнено копирование этих трех файлов в папку Apache24 \ bin, а затем перезапуск Apache:
libeay32.dll
libssh2.dll
ssleay32.dll Копирование этих данных в System или System32 не требуется.
Если проблема сохраняется после того, как вы раскомментируете модуль из обоих файлов php.ini (о том, что люди уже говорят и которые находятся в папке apache и папке php), и даже после проверки, что вы получили php_curl.dll ** на
C: \ WAMP \ Bin \ PHP \ php5.3.13 \ внутр
ВЫ ДОЛЖНЫ ПОПРОСИТЬ ЗАМЕНИТЬ ОРИГИНАЛЬНУЮ DLL, КОТОРАЯ ПРИНИМАЕТСЯ С WAMPSERVER с одним из этого веб-сайта:
http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/
Моя проблема была там! Надеюсь, поможет.