Отправка оптовых SMS останавливается в середине
-
22-12-2019 - |
Вопрос
Ребята, у меня есть проблема в следующем коде.Мне нужно отправить объемные смс на 24 000 мобильных номеров.Но если я отправлю его после 150 номеров, отправьте, он показывает мне внутреннюю ошибку сервера и прекратить отправлять другие следующие номера.Пожалуйста, пройдите через код, приведенный ниже и ответьте на положительный код, который действительно может помочь мне.
<?php
//Code using fopen
//Change your configurations here.
//---------------------------------
$username = "username";
$api_password = "api_password";
$sender = "sender";
$domain = "domain";
$priority = "1";// 1-Normal,2-Priority,3-Marketing
$method = "POST";
//---------------------------------
for ($i = 0; $i < $var; $i++) {
if (isset($_REQUEST['send'])) {
$mobile = $explode_num[$i];
$lenthof_number = strlen($mobile);
if ($lenthof_number >= 10) {
$message = $_REQUEST['message'];
$username = urlencode($username);
$password = urlencode($api_password);
$sender = urlencode($sender);
$message = urlencode($message);
$parameters = "username=$username&api_password=$api_password&sender=$sender&to=$mobile&message=$message&priority=$priority";
if ($method == "POST") {
$opts = array(
'http' => array(
'method' => "$method",
'content' => "$parameters",
'header' => "Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
)
);
$context = stream_context_create($opts);
$fp = fopen("http://$domain/pushsms.php", "r", false, $context);
} else {
$fp = fopen("http://$domain/pushsms.php?$parameters", "r");
}
$response = stream_get_contents($fp);
fpassthru($fp);
fclose($fp);
if ($response == "")
echo "Process Failed, Please check domain, username and password.";
else
echo "$response";
}//third if
}//second if
}//first if
}//main for
?>
. Решение
Возможно, ваша страница превысила время максимального выполнения.Поместите следующий код сверху страницы и попробуйте:
ini_set("memory_limit","128M");
//ini_set("memory_limit","256M");
//this sets it unlimited
ini_set("max_execution_time",0);
. Другие советы
Добавьте это в верхней части вашего сценария PHP
<?php
set_time_limit(0);
. Не связан с StackOverflow