sms api не работает на локальном компьютере, но работает, если размещен на хост-сервере - PullRequest
0 голосов
/ 28 августа 2018

Приведенный ниже php-код хорошо работает с веб-сервера (то есть, где находится sms-сервер). находится), но не работает хорошо с локальной машины с xampp или wamp.

Фактический сервер в Godaddy

Что я пропускаю?

Код извлекает сведения о соединении из таблицы, которая включает в себя: имя пользователя, пароль, msisdn и отправитель. Когда сообщение в конечном итоге отправлено, сообщение помечено, чтобы оно больше не отправлялось.

<?php

$id = 0;

$con=mysqli_connect("localhost","root","","afrcan_wp");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$sql="SELECT id,message,username,password,MSISDN,sender,messagestatus FROM outgoingsms where messagestatus = 'not sent' LIMIT 1";

if ($result=mysqli_query($con,$sql))
  {
  // Fetch one and one row
  while ($row=mysqli_fetch_row($result))
    {

    $id=$row[0];    

    $text1=$row[1];

    $username=$row[2];

    $password=$row[3];

    $to=$row[4];

    $sender=$row[5];

    $messagestatus=$row[6];

 //$conn1=mysqli_connect("localhost","afrcan_wp","Sirhenry888","afrcan_wp");
$conn1 = new mysqli("localhost","root","","african_wp");
// Check connection
if ($conn1->connect_error) {
    die("Connection failed: " . $conn1->connect_error);
} 

$sql = "UPDATE outgoingsms SET messagestatus='sent' WHERE id=$id";

if ($conn1->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn1->error;
}


$text = trim($text1);

$postUrl = "https://www.connectmedia.co.ke/user-board/?api";

$action="send";

$post = [
'action' => "$action",
'to' => array($to),
'username' => "$username",
'password' => "$password",
'sender' => "$sender",
'message' => urlencode("$text"),
];
$ch = curl_init($postUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
$response = curl_exec($ch);
curl_close($ch);
echo "$response";

    //send messages
    }
  // Free result set
  mysqli_free_result($result);

 $conn1->close();

}

mysqli_close($con);

?>

Это проблема с кодом? подключение к интернету?

Любая помощь будет высоко оценена

1 Ответ

0 голосов
/ 28 августа 2018

, если это работает на веб-сервере, но не работает на вашем локальном хосте, возможно, у CURL проблемы с брандмауэром. По умолчанию CURL использует порт 1080. Убедитесь, что этот порт открыт на вашем локальном хосте, или попробуйте изменить порт, выполнив

curl_setopt ($ch, CURLOPT_PORT , 8089);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...