2011-10-11 92 views
0

我正在寻找任何帮助,调试什么可能会阻止我的PHP代码运行时,我卷曲页面包含脚本。CURL问题。 PHP脚本没有在通话中运行

我正在从一个PHP脚本这个调用:

$ch = curl_init($this->curl_address . $querystring); 
$response = curl_exec($ch); 
curl_close($ch); 

给该脚本:(脚本实际上做的东西,但它没有运行,所以我把它弄坏了下来,这样我会有证据表明,它不运行,这是目前在那里,并没有在日志中没有输出)

error_log("got here"); 

在我的测试服务器(在Mac),该CURL'd脚本运行(我得到的输出在日志中),但在我的生产服务器上失败。在这两种情况下,服务器上的一个脚本调用另一个脚本

生产服务器是Linux VPS运行(我相信)CentOS。

我不知道我应该在生产服务器上寻找什么问题。任何帮助表示赞赏。

谢谢。

+1

你有卷曲安装在你的服务器上吗? –

回答

0

我打算在周末时更新这个问题,当我终于找出问题所在。生产服务器通过HTTPS提供服务,而测试服务器则不是。我遇到的问题是因为服务器没有通过cURL进行身份验证。

+0

所以你挑出我的答案,因为你发现了一些与答案无关的东西?我对你提出的问题给出了正确的答案,现在你改变了它。然后降低你的问题。 – 2011-11-26 20:59:01

1

在服务器托管的脚本中,使用function_exists('curl_init');来检查是否安装了cURL。如果函数存在,此函数将返回布尔型true,否则返回false

如果返回false,则必须在服务器中安装cURL

如果您想了解有关PHP设置的详细信息,还可以使用phpinfo();调用。

+0

嗨马里奥, 好吧,我运行了function_exists('curl_init'),并且我得到了真正的返回。我检出了phpinfo,并且卷曲细节与我的测试服务器相比非常苗条。它仅列出两行: 卷曲支持\t启用 卷曲信息\t的libcurl/7.21.4的OpenSSL/0.9.8b zlib的/的libidn 1.2.3/0.6.5 卷曲响应仍然返回false,且误差未记录。 有什么想法? – dirknibleck

+0

最有可能的是,cURL当时正在失败。尝试做一个'var_dump(curl_init());'并发布它的结果。 如果结果类似于“资源#x”,那么cURL应该工作正常,问题在其他地方。 – 2011-10-24 16:43:07