Я использую приведенный ниже сторонний код для отправки SMS-сообщений клиентам, которые делают заказы в моем интернет-магазине. Кажется, этот код загружается медленно, и это приводит к медленной загрузке страницы подтверждения заказа (с этим кодом внутри).
Есть ли решение, которое я могу использовать этот код, но его медлительность не влияет на мою страницу?
Спасибо
// Send SMS
/*
ini_set("soap.wsdl_cache_enabled", "0");
$sms_client = new SoapClient('http://87.107.121.54:2620/post/send.asmx', array('encoding'=>'UTF-8'));
$parameters['username'] = "xxxxxxxxxxx";
$parameters['password'] = "xxxx";
$parameters['to'] = "$phone";
$parameters['from'] = "1000947320";
$parameters['text'] ="test";
$parameters['isflash'] =false;
$sms_client->SendSimpleSMS2($parameters)->SendSimpleSMS2Result;
*/
Сделайте страницу подтверждения, добавьте значения в базу данных и создайте скрипт, который обрабатывает значения из базы данных, что означает:
когда пользователь заходит на страницу, ваш код будет делать что-то вроде этого:
INSERT INTO sms SET to='$to', text='$text', sent=0;
а затем вы делаете скрипт, который делает следующее:
ini_set("soap.wsdl_cache_enabled", "0");
$parameters['username'] = "xxxxxxxxxxx";
$parameters['password'] = "xxxx";
$parameters['from'] = "1000947320";
$parameters['isflash'] =false;
$sms_client = new SoapClient('http://87.107.121.54:2620/post/send.asmx', array('encoding'=>'UTF-8'));
$query = mysql_query("SELECT * FROM sms WHERE sent=0");
while( $message = mysql_fetch_assoc($query) ) {
$thisMessage = $parameters;
$thisMessage['to'] = $message['to'];
$thisMessage['text'] = $message['text'];
$sms_client->SendSimpleSMS2($thisMessage)->SendSimpleSMS2Result;
mysql_query('UPDATE sms SET sent=1 WHERE id='.$message['id']);
}
и вы запускаете этот скрипт в cron, скажем, каждую минуту или как часто вы хотите.
Других решений пока нет …