PHP cURL永远不会运行来自我的域的任何URL

时间:2013-06-25 18:10:15

标签: php eclipse http zend-framework curl

问题:

我正在尝试让我的网站前端使用RESTful后端从我的数据库中获取信息。我在下面的PHP / cURL代码适用于除https://mydomain.com [/ anything]以外的任何URL,其中mydomain是我正在使用的域,[/ anything]是任何子域。它总是只返回一个带有http代码200的标题和一个空体,即使我调用一个充满破坏代码的URL。但是,如果我在Web浏览器中输入相同的URL,那么我会得到预期的输出(在大多数情况下是JSON字符串)。

所以回顾一下:

如果我使用我的代码致电www.google.ca,我会获得构成www.google.ca的XML。好

如果我使用我的网络浏览器调用https:// mydomain.com/thing,我会获得保存数据库中信息的预期JSON字符串。优异的

如果我用我的代码调用https:// mydomain.com/thing,我会得到一个没有正文的标题,显示http代码为200.令人沮丧

代码(它是从AbstractActionController的indexAction调用的):

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,'https://mydomain.com/thing');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_COOKIE, $cookieHeader);
curl_setopt($ch, CURLOPT_HEADER, true);
$response = curl_exec($ch);

$err = curl_errno ( $ch );
$errmsg = curl_error ( $ch );
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($response, 0, $header_size);
$body = substr($response, $header_size);
$httpCode = curl_getinfo ( $ch, CURLINFO_HTTP_CODE );

curl_close($ch);

我正在使用的是什么:

使用Eclipse dev环境在Ubuntu中使用Zend Framework 2的PHP5

https:// mydomain.com/thing指向AbstractRESTfulController

修改

知道在cURL exec调用之后我在apache2日志中中中了一个一个的一个一个的一个一率:

[Zend Debugger]无法接收启动命令

[Zend Debugger]无法发送消息

1 个答案:

答案 0 :(得分:0)

事实证明,这段代码实际上运行得很好,问题与我的系统验证方式有关。