cURL / wp_remote_post: не будет работать в плагине WordPress - PullRequest
3 голосов
/ 21 марта 2012

Я работаю над плагином WordPress, который извлекает данные с другого сайта с помощью пост-вызова cURL Я тестировал один и тот же код в плагине i wordpress и вне его.

Вне WordPress скрипт работает нормально, но внутри плагина WordPress скрипт просто не будет работать:

Плагин Wordpress:

$handle = curl_init();
curl_setopt($handle, CURLOPT_URL,             $url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER,  true);
curl_setopt($handle, CURLOPT_POST,            true );
curl_setopt($handle, CURLOPT_FOLLOWLOCATION,  true );
curl_setopt($handle, CURLOPT_POSTFIELDS,      array('postfield' => 'postfieldcontent'));

$result = curl_exec($handle);

Основной сайт:

mysql_query("INSERT INTO table (q, w, e, r, t, y, u) VALUES ('', '".$_POST[postfield]."', '', '', '', '', '')");

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

$result = wp_remote_get( 'http://qwerty.dk/folder/filename.php?getfield=qwertrert' );

Я сдался - пожалуйста, помогите:)

С наилучшими пожеланиями Ким

1 Ответ

3 голосов
/ 24 августа 2012

Вам нужно будет включить cURL в вашем файле php.ini. См # 1347146

wp_remote_post() использует класс с именем WP_Http, который в свою очередь может использовать один из трех транспортных классов (см. Файл class-http.php function _get_first_available_transport).

Метод POST будет работать с классом WP_Http_Curl, но не будет работать с классом WP_Http_Streams (запасной вариант cURL).

Альтернатива - использовать wp_remote_get()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...