Вопрос

Ребята, у меня есть проблема в следующем коде.Мне нужно отправить объемные смс на 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);
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top