2016-08-20 3 views
-2

ПРИМЕЧАНИЕ: Я должен добавить, что я не занимаюсь поиском решения cURL. Я уже знаю и делаю cURL. Я хочу посмотреть, что происходит в моем эксперименте с функцией http.PHP 7 скопировал php_http.dll в php/ext/не работает?

Я бегу PHP 7 из установки XAMPP по адресу:

C: XAMPP \ PHP

Я скачал pecl-5.2.6-Win32.zip для Windows, который был полон .dll файлов , затем я скопировал файл php_http.dll в папку php \ ext, где были найдены все другие DLL-файлы.

Я отредактировал свой php.ini и добавил строку extension=php_http.dll в алфавитном порядке всех других расширений (как будто это имеет значение).

Затем я перезапустил Apache и попытался выполнить команду $response = http_get($url);, но получить сообщение об ошибке «Вызов неопределенной функции http_get()».

Кажется, что я делаю все шаги правильно, но функции http просто не работают. Кроме того, я посмотрел на свой phpinfo(), и я не вижу ссылки на расширение PECL.

UPDATE: Я прочитал на другом форуме с подобной проблемой, где эта линия была найдена в error.log Apache:

C:\xampp\php\ext\php_http.dll' - The specified module could not be found.

Человек сказал, что он понизил свою версию PHP, а затем повторил шаги и это сработало.

Вчера вечером я отказался от PHP 7 до PHP 5.6. Я повторил .dll копию/внутр, включен php_http.dll в php.ini, а затем получил другую ошибку:

HP Warning: PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_http.dll' - %1 is not a valid Win32 application.\r\n in Unknown on line 0

Я нашел эти Windows http extensions, снова скопировал файл .dll, перезапустить Apache, но теперь Я вернулся к

PHP Warning: PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_http.dll' - The specified module could not be found.\r\n in Unknown on line 0

ответ

1

Вместо того, чтобы делать так много изменений, вы могли бы просто использовать завиток и получить тот же результат. Ссылка на PECL на http_get была удалена. Эта версия PECL для PHP 5.2.x. Какую версию php вы используете? вместо этого вы можете использовать эту функцию

function url_get($url) 
{ 
    $ch = curl_init(); // initialize curl handle 
    curl_setopt($ch, CURLOPT_URL,$url); // set url to post 
    curl_setopt($ch, CURLOPT_FAILONERROR, 1); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// allow redirects 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable 
    curl_setopt($ch, CURLOPT_TIMEOUT, 10); // times out after 10s 
    $urlcontent = curl_exec($ch); 
    curl_close($ch); 
    return($urlcontent); 
} 
$url = "example.com"; 
url_get($url); 
+0

Я использую cURL для этого проекта. Я не прошу разрешения cURL. Я хочу посмотреть, что происходит с функцией http. – TARKUS

+0

@InfiniteLoop Если вы прочитали мой ответ, я уже говорил, что он работает в php 5.2.x. Но я не знаю, с какой версией PHP вы пытаетесь? –

+0

А, извините. Я откатился с PHP 7 (кажется, не PECL там 7) для PHP 5.6. По-прежнему получается 'Невозможно загрузить динамическую библиотеку 'C: \ xampp \ php \ ext \ php_http.dll' - Указанный модуль не найден. Ошибка. Предполагается, что это расширение сделано для этой версии. Возможно, мне придется вернуться к более ранним версиям PHP до тех пор, пока не сработает? – TARKUS

 Смежные вопросы

  • Нет связанных вопросов^_^