我一直试图在我的GAE服务器上实施Plivo,但我得到了500 error
。
我使用Plivo's Github PHP Helper Library设置了Plivo。我在测试服务器上将该文件保存为plivo.php。然后我用以下代码添加了plivosend.php
<?php
if($_POST) {
require_once 'plivo.php';
$auth_id = "auth_id";
$auth_token = "auth_token";
$p = new RestAPI($auth_id, $auth_token);
// make sure all 3 params are valid
if(!empty($_POST['send_to_name']) && !empty($_POST['send_to_number']) && !empty($_POST['sender_name'])) {
$message = 'this message doesn't matter';
$plivo_url = 'https://glacial-harbor-8656.herokuapp.com/report';
// Send message
$params = array(
'src' => '15555555555', // Sender's phone number with country code
'dst' => $_POST['send_to_number'], // Receiver's phone number with country code
'text' => $message, // Your SMS text message
'url' => $plivo_url, // The URL to which with the status of the message is sent
'method' => 'POST' // The method used to call the url
);
// Send message
$response = $p->send_message($params);
// Print the response
$message_uuid = $response['response']['message_uuid'][0];
if(!empty($message_uuid)) {
echo '{"success":1,"message_uuid":' . $message_uuid . '"}';
}
else {
// todo log this?
echo '{"success":0,"error_message":"Message failed to send."}';
}
}
else {
echo '{"success":0,"error_message":"Message failed to send. Incorrect params."}';
}
}
?>
在我的测试服务器(只是我的网站)上,这发送没有任何问题。当我将plivo.php
和plivosend.php
放在GAE上时,我得到以下500 error
:
207.58.203.50 - - [21/Sep/2015:09:58:00 -0700] "POST /plivosend.php HTTP/1.1" 500 25 - "appname/1.0.2 (iPhone; iOS 9.0; Scale/2.00)" "appname-xxx.appspot.com" ms=4 cpu_ms=3 cpm_usd=0.000003 instance=00c61b117cd04d3645448a84e24daba9991882e1 app_engine_release=1.9.26
我不知道为什么......细节非常有限。
有没有人有线索? GAE不支持Plivo吗?
答案 0 :(得分:1)
Google App Engine限制了许多功能(为了成为一个大规模自动扩展应用程序平台所必需的)。一个限制是出站HTTP请求(从PHP代码到外部)。请在此处阅读HTTP Requests and cURL Support了解详细信息和选项。