Я пытался реализовать Plivo на моем сервере GAE, но я получаю 500 error
,
Я настраиваю Plivo с помощью Plivo’s Github PHP Helper Библиотека. Я сохранил этот файл как 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?
Google App Engine ограничивает многие функции (необходимые для того, чтобы быть платформой для масштабного автоматического масштабирования приложений). Одно ограничение — это исходящие HTTP-запросы (от вашего PHP-кода до внешнего). Читайте об этом здесь, HTTP-запросы и поддержка cURL для деталей и вариантов.
Других решений пока нет …