使用PHP将转发的URL参数保存到MySQL数据库

我有一个客户发送批量短信的网站,因此我将短信请求转发给聚合器,他通过印度的移动操作符发送消息.

现在,我面临的问题是.一旦发送了SMS,为了获得实时传送报告,我需要使用PHP中的脚本从聚合器接收参数.所以我做了一个脚本,例如example.com/dlr.PHP和脚本包含

<?PHP
include('config.PHP');

$uid = sanitize($_GET['uniqueid']);
$status = sanitize($_GET['status']);
$cause = sanitize($_GET['cause']);

if($uid != "" || $status != "" || $cause != "" ){
    $sql = "INSERT INTO `table` .....";
    //execute code...
}

所以使用它,我将数据存储在我的数据库中并间隔更新记录.

当聚合器向我的URL发送同步请求时,我的专用服务器崩溃example.com/dlr.PHP?uniqueid=1234332423\u0026amp;status=success\u0026amp;cause=delivered\u0026amp;time=12312432423,因此所述URL一次多次出现,有时数千次,当我的客户以100,000个号码发送消息时,所有100,000个号码的发送报告都会转发到我的脚本.

可能是由于这个原因,我的服务器崩溃并变得无法访问.

处理此脚本的并发连接并将值存储到MysqL数据库的最佳方法是什么?

感谢您的帮助,谢谢

解决方法

问题可能在于您的数据库 – 而不是脚本本身.我会检查你允许的最大连接数…认情况下,这个数字设置为100.最大连接数是4,294,967,295

请查看此链接获取有关如何更改它的信息:MySQL Connection Limit

此外,您可以在崩溃之前,期间和之后发布您的服务器的一些日志吗?这样我们就能更好地了解发生的事情以及为什么……

更好的方法是错开数据导入.即;将收据写入临时文本文件 – 然后使用cron作业 – 每隔X分钟;读取临时文本文件并将第一批数据导入数据库.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...