Php 此curl命令不支持';因为某种原因我不能工作

Php 此curl命令不支持';因为某种原因我不能工作,php,curl,Php,Curl,我有一个需要从PHP脚本“调用”的URL。URL使用Tropo的API进行电话呼叫,因此很容易验证是否调用了该URL 我的PHP如下所示: <?php $oid=$_GET["oid"]; $notify_url = "http://mydomain.com/somepath/".$oid; echo $notify_url; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $notify_url); curl_setopt($ch,

我有一个需要从PHP脚本“调用”的URL。URL使用Tropo的API进行电话呼叫,因此很容易验证是否调用了该URL

我的PHP如下所示:

<?php

$oid=$_GET["oid"];
$notify_url = "http://mydomain.com/somepath/".$oid;
echo $notify_url;

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $notify_url);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
curl_close($ch);

mail('me@gmail.com', 'cURL', "Did a cURL");

?>

这会打印出$notify_url变量,当我获取打印的值并将其输入浏览器窗口时,我会得到所需的结果,即打电话到我的手机

我在两个声称支持CURL的网络主机上试过这个,一个是付费的(crazydomains.com.ayu-刚刚打电话支持),另一个是000webhost.com

我做错什么了吗?这个有点让人困惑,因为它应该很简单

编辑:我按预期收到邮件

编辑2:如果你对我如何调试这个有任何想法,我将不胜感激

编辑3:正如Juhana所建议的,我添加了
echo curl_error()在curl_exec和我得到这个错误后

警告:第15行/home/a5352876/public_html/curl.php中curl_error()的参数计数错误

编辑4:将
echo curl\u error()
更改为
echo curl\u error($ch)
,并收到消息
无法连接到主机
,因此这似乎是问题所在


现在的问题是,为什么它不能连接到一个可以通过浏览器轻松访问的主机,我可以在哪里找到它呢?

如果您的主机启用了HTTP包装器,并且启用了
allow\u url\u fopen
config选项,那么您就不需要cURL,特别是对于这样一个简单的请求

看起来您所需要做的就是打开一个URL,您可以轻松地使用它:


如果您的主机启用了HTTP包装器,并且启用了
allow\u url\u fopen
config选项,那么您就不需要cURL,特别是对于这样一个简单的请求

看起来您所需要做的就是打开一个URL,您可以轻松地使用它:


你看到打印的
通知url
,你接到了电话,电子邮件如期而至。有什么问题吗?
echo curl\u error()
有什么问题吗?@Josh我接到电话如果我在浏览器中手动输入URL,脚本不会给我打电话。也就是说,我有正确的URL,但我的脚本没有调用它。@Juhana我会早一点给你,让你知道。@Juhana我试过了,得到了警告:第16行/home/a5352876/public\u html/curl.php中curl\u error()的参数计数错误。。。。将更新问题。您将看到打印的
通知url
,接到电话,电子邮件将按预期发送。有什么问题吗?
echo curl\u error()
有什么问题吗?@Josh我接到电话如果我在浏览器中手动输入URL,脚本不会给我打电话。也就是说,我有正确的URL,但我的脚本没有调用它。@Juhana我会早一点给你,让你知道。@Juhana我试过了,得到了警告:第16行/home/a5352876/public\u html/curl.php中curl\u error()的参数计数错误。。。。将更新问题。感谢Nick现在试一试。@Ankur-根据您的curl错误,它可能不起作用,因为您的主机可能正在阻止此类连接。仅仅因为你可以在你的浏览器中加载它,并不意味着你的服务器可以访问它。是的,我想是的,问题是这两家托管公司都说他们有curl支持,而使用phpInfo()支持这一点。但这也不起作用,实际上我必须向fopen()添加另一个参数。我读了这篇文章,并为只读添加了一个“r”。谢谢你的帮助,尼克,我相信你的回答实际上是正确的,可能会为其他人解决这个问题。因此,尽管它不能解决我的情况,但它确实解决了cURL无法正常工作的问题,因此我接受它。感谢Nick现在试一试。@Ankur-根据您的cURL错误,它可能无法正常工作,因为您的主机可能会阻塞这些连接。仅仅因为你可以在你的浏览器中加载它,并不意味着你的服务器可以访问它。是的,我想是的,问题是这两家托管公司都说他们有curl支持,而使用phpInfo()支持这一点。但这也不起作用,实际上我必须向fopen()添加另一个参数。我读了这篇文章,并为只读添加了一个“r”。谢谢你的帮助,尼克,我相信你的回答实际上是正确的,可能会为其他人解决这个问题。所以,即使它不能解决我的情况,但它确实解决了旋度不能正常工作的问题,所以我会接受它。
$oid = $_GET["oid"];
$notify_url = "http://mydomain.com/somepath/".$oid;
$fh = fopen( $notify_url, 'r');
fclose( $fh);