无法从中间的php页面调用Web服务

时间:2016-08-13 00:14:57

标签: php curl

我在运行Apache的Centos 6计算机上托管了一个网站。在所述网站内,我有一个HTML表单,它向一个PHP页面(在相同的Centos 6机器上运行)发出POST请求,其作用是将所述请求传递给通过curl在不同服务器上运行的Web服务。

$.ajax({
    method: "POST",
    url: "register.php",
    data: { name: name, lastname: lastname, sex: sex, bithdate: birthdate,  email: email, cellphone: cellphone, country: country }
})
.always(function( msg ) {
    alert( msg );
});

PHP中间代码:

<?php

    //extra line
    set_time_limit(0);

    $data = http_build_query($_POST);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://xxxx:8690/register/user");
    curl_setopt($ch, CURLOPT_POST, 1);        
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    //extra lines
    curl_setopt($ch, CURLOPT_NOSIGNAL, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,0); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 400); //timeout in seconds

    //flags
    $result = curl_exec($ch);
    $curl_errno = curl_errno($ch);
    $curl_error = curl_error($ch);
    echo "Error: ".$curl_error." number: ".$curl_errno;
    echo "Result is: ".$result;
    curl_close($ch);
 ?>

问题是,当使用所述中间PHP页面时,请求永远不会到达Web服务。如果我直接从网站发送POST请求到网络服务的网址,它运作正常,但我不想这样做,因为我想保留网络服务的网址因安全原因私下。

任何帮助/想法都将不胜感激。

0 个答案:

没有答案