wordpress 플러그인을 만들고 있는데 제대로 작동하려면 cURL 호출을받는 데 문제가 있습니다.어떻게 Wordpress 플러그인에서 컬을 사용합니까?
내가 페이지를 말할 수 있습니다 www.domain.com/wp-admin/admin.php?page=orders 주문 페이지 내에서
나는 버튼을 클릭하고 경우에 해당되는지 보이는 기능이 다른 기능을 시작하려면 같은 페이지 (www.domain.com/wp-admin/admin.php?page=orders & dosomething = true) 로의 cURL 호출을해야합니다. 내가 이렇게하는 이유는이 cURL 호출을 비동기로 만들 수 있기 때문입니다.
오류가 발생하지 않지만 응답을받지 못했습니다. google.com 또는 example.com으로 URL을 변경하면 답변을 받게됩니다. 인증 문제 또는 그러한 성질의 가능성이 있습니까?
내 코드는 다음과 유사합니다. 테스트를 쉽게하기 위해 도착, 에코 및 비동기를 사용하지 않습니다.
if(isset($_POST['somebutton']))
{
curlRequest("http://www.domain.com/wp-admin/admin.php?page=orders&dosomething=true");
}
if($_GET['dosomething'] == "true")
{
echo("do something");
exit;
}
function curlRequest($url) {
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
return($response);
}
루프백 인터페이스를 통해 웹 서버에 연결할 수 있어야합니다. 아마도 웹 서버는 127.0.0.1과 같은 루프백 주소가 아닌 '공용'IP에서만 수신 대기하도록 구성되었을 수 있습니다. 나는 스크립트에서'system ("ping www.domain.com")'과 같은 어리석은 것을 시도하여 '내부적으로'호스트에 경로를 지정할 수 있는지 확인하는 것이 좋습니다. – sarnold
나는 다만 wordpress .. aka www.domain.com의 공중 부분에가는 경우에 작동한다. 하지만 관리자 (wp-admin)에게 연락하려고 시도하면 응답이 없습니다. – Jason
비동기 프로세스를 찾고 있다면 왜 AJAX를 사용하지 않을까요? cURL *은 동기식입니다 (즉, cURL이 완료 될 때까지 PHP 스크립트가 차단됩니다). –