带有 curl 短信的 php 在实时服务器上发送

Posted

技术标签:

【中文标题】带有 curl 短信的 php 在实时服务器上发送【英文标题】:php with curl sms sending with on live server 【发布时间】:2015-10-10 16:50:35 【问题描述】:
function curl_request($url=false)


$ch=curl_init();
if($url)
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);  
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);  
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_USERAGENT);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$result = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);  
curl_close($ch);
return $result;


$data['update']=false;
$data['msg']='Record not found.';
switch($_POST['action'] )
    case "validateAccountNumber" :
        $sql="SELECT user_id FROM tbl_user WHERE ".$_POST['fieldName']."='".$_POST['fieldValue']."'";
         $result = mysql_query ($sql);
         if(mysql_num_rows($result)) 
             $_SESSION['account_no'] = $_POST['fieldValue'];        
             $data['update']=true;
             $data['msg']='Record found.';
           
    break;

    case "validateMobileNumber" :
    $sql="SELECT user_id FROM tbl_user WHERE ".$_POST['fieldName']."='".$_POST['fieldValue']."' AND account_no='".$_SESSION['account_no']."'";
         $result = mysql_query ($sql);
         if(mysql_num_rows($result))
            $_SESSION['mobile_no'] = $_POST['fieldValue']; 
            // 
            $sms_code= makePin();
            $_SESSION['sms_code'] = $sms_code;    
            ///////////////////// Sengin Sms Code //////////////////////////
            $message = "Dear Member, your activation code is $sms_code. Thanks for registering, from www.chsonline.in.";

            $username = "xxxxxxxxxx";
            $password = "zzzzzzzzzz";
            $sendername = "chsonline";
            $url = "http://bulksms.mysmsmantra.com:8080/WebSMS/SMSAPI.jsp?username=".$username."&password=".$password."&sendername=".$sendername."&mobileno=91".$_SESSION['mobile_no']."&message=".urlencode($message);
             $data['sms_response'] = curl_request($url);
             $data['sms'] = $url;

            ////////////////////////////////////////////////////////////////  
            $data['update']=true;
            $data['msg']='A verification code have been sent in your mobile no.';
           
    break;
    default:
    break;

echo json_encode($data);
die(); 

这是一个php代码:当我用这个代码发送短信时,它在localhost上发送短信,但在实时服务器上它不只发送短信这个通知给了

验证码已发送到您的手机号。

代码执行正常,但没有发送短信。 Godaddy.in

我的主机或域

【问题讨论】:

【参考方案1】:

与您的托管公司联系,以了解您选择的托管计划是否启用 curl。您的服务器上的 CURL 似乎已禁用。

您可以检查您的 php.ini 配置是否相同。

检查 php 信息:

    在服务器上的文件 phpinfo.php 上创建

    输入<?php echo phpinfo();?>

    在服务器上运行 phpinfo.php 文件 找到 curl 并检查它是启用还是禁用?

【讨论】:

只有这段代码不工作,其他Curl php sms程序工作正常。 我创建了一个短信发送程序来手动输入短信或接收者号码它的发送成功 请看...... 这可能是服务器上区分大小写的问题,因为您的服务器是基于 linux 的,而您的本地主机是 windows,所以在 locahost 中您没有这样的问题,但是在服务器上检查了区分大小写,所以您可能遇到了这个问题. 也尝试在 curl_request 函数调用中打印 $result

以上是关于带有 curl 短信的 php 在实时服务器上发送的主要内容,如果未能解决你的问题,请参考以下文章

php 使用curl通过Plivo发送短信。

如何通过 PHP 发送带有 pem 证书的 curl 请求?

发送带有 php 链接的短信

聚合短信PHP代码示例短信接口调用CURL方法

redis 发布订阅实现异步实时发短信

怎么在flutter中实现点击按钮发送高德地图上自己实时位置的短信?怎么让位置信息成为短信的内容呢