【发布时间】:2016-01-03 12:58:42
【问题描述】:
我是一个非常初学者,如果它太基础,请原谅我。
我已经使用MAMP 设置了一个本地主机,并且我有一个通过Twilio 呼叫我的index.php 文件,并且它工作得很好,我总是接到电话:
<?php
$id = "ACxx15d26xxxxxxxxx454424bxxexx3f";
$token = "79fb4xxxf93c8exxxxxxxda6bxxxxe9 ";
$url = "https://api.twilio.com/2010-04-01/Accounts/$id/Calls.json";
$CallURL = "http://www.someweb.com";
$from = "+97223721333";
$to = "+971111111111"; // twilio trial verified number
$body = "Its all going to work!";
$data = array (
'From' => $from,
'To' => $to,
'Body' => $body,
'Url' => $CallURL,
);
$post = http_build_query($data);
$x = curl_init($url );
curl_setopt($x, CURLOPT_GET, true);
curl_setopt($x, CURLOPT_RETURNTRANSFER, true);
curl_setopt($x, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($x, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($x, CURLOPT_USERPWD, "$id:$token");
curl_setopt($x, CURLOPT_POSTFIELDS, $post);
$y = curl_exec($x);
curl_close($x);
var_dump($post);
var_dump($y);
?>
然后我设置了一个 Amazon server EC2 ,并在其中放置了一些文件 (filezilla),它们也可以正常工作(我可以在浏览器中加载图像,并且可以正常工作)。
然后我试图把这个文件放在服务器上,发生了两件事。
- 当我将其设为
index.php并在那里浏览时,我可以看到一个空白 页面,但什么也没发生。 -
当我把它设为
index.html并在那里浏览时,我得到了这个文本(“这不是 Json,所以我不知道它是什么),而我 没有 得到也叫:$from, 'To' => $to, 'Body' => $body, ); $post = http_build_query($data); $x = curl_init($url); curl_setopt($x, CURLOPT_POST,真); curl_setopt($x, CURLOPT_RETURNTRANSFER, true); curl_setopt($x, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($x, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($x, CURLOPT_USERPWD, "$id:$token"); curl_setopt($x, CURLOPT_POSTFIELDS, $post); $y = curl_exec($x); curl_close($x); var_dump($post); var_dump($y); */ //twillio 调用 $id = "ACa015xx662d50dxxx454424b70xxxxxx"; $令牌 = “79fb4b00efxxc8exxxf772da6bxxxxxx”; //仅在 : 之后 $url = "https://api.twilio.com/2010-04-01/Accounts/$id/Calls.json"; $CallURL = "http://www.somewebsite.com"; $来自 = "+97223721333"; $to = “+ 971111111111”; // twilio 试用验证号 $body = "全部 去工作!”; $data = array ('From' => $from, 'To' => $to, 'Body' => $body, 'Url' => $CallURL, ); $post = http_build_query($data); $x = curl_init($url); curl_setopt($x, CURLOPT_GET, true); curl_setopt($x, CURLOPT_RETURNTRANSFER,真); curl_setopt($x, CURLOPT_SSL_VERIFYPEER, 错误的); curl_setopt($x, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($x, CURLOPT_USERPWD, "$id:$token"); curl_setopt($x, CURLOPT_POSTFIELDS, $post); $y = curl_exec($x); curl_close($x); var_dump($post); var_dump($y); ?>
那么,将其命名为 .php and .html 有什么不同?为什么其中一个是空白的,另一个有这个响应?
编辑
我尝试使用以下命令安装 curl:sudo apt-get install php5-curl(worked)
然后我测试了这个链接是否支持 curl: How to enable cURL extension on Amazon EC2 free tier 结果是它不被支持。 这是为什么 ?我已经安装好了。
【问题讨论】:
-
其中一个是空白的,因为发生了错误。您的服务器可能没有安装
curl扩展,因此它无法执行代码。另一方面,.html是浏览器解释为漂亮网页的简单文本 - 没有发生服务器端处理,您会得到文件中写入的内容,这就是它起作用的原因。 -
得到了你。 php 已安装。所以我必须安装 curl ?
-
服务器日志会告诉你到底出了什么问题,但我的预感是你缺少 curl 扩展。
-
刚刚安装了 curl :sudo apt-get install php5-curl。还是行不通。我必须重置它还是什么?
-
@Mjh 请看我的编辑
标签: php amazon-web-services amazon-ec2