【问题标题】:Executing a .cfm script with php使用 php 执行 .cfm 脚本
【发布时间】:2012-03-29 01:49:33
【问题描述】:

我正在使用以下代码远程执行脚本:

$url = 'https://x.x.com/update_something.cfm?something_id=' . $id;
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            $response = curl_exec($ch);
            curl_close($ch);

脚本,但是,它没有被执行(当我从浏览器访问上面的 url 时,我可以看到更新的结果,当从上面的 php 脚本执行它时没有任何反应。虽然 PHP 没有给我任何错误,它刚刚完成执行。我错过了什么?

【问题讨论】:

  • 尝试打开CURLOPT_VERBOSE 选项以获取一些调试信息,并检查curl_error() 的返回值以确定。如果请求没有明显的问题,请尝试修改请求标头以更接近浏览器的请求,有时脚本会抱怨 User-AgentReferer 标头之类的内容。
  • 在 exec 调用之后执行 var_dump($response)。如果结果为布尔值,则表明 curl 调用出现了问题。您可以使用echo curl_error($ch) 获取错误文本
  • 谢谢,我运行它并得到“SSL 连接超时”,不知道如何解决这个问题,我尝试将 CURLOPT_TIMEOUT 设置为一个很高的数字,但它不起作用:(

标签: php curl coldfusion https


【解决方案1】:

添加curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 使其工作! :)

猜你喜欢
  • 2013-02-10
  • 2016-03-02
  • 2010-10-08
  • 2011-10-18
  • 2018-01-29
  • 2016-11-29
  • 2015-07-11
  • 2019-03-03
  • 2013-07-10
相关资源
最近更新 更多