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

标签 php mysql

我有一个客户可以发送大量 SMS 的网站,因此我将 SMS 请求转发给聚合商,他通过印度的移动运营商发送消息。

现在,我面临的问题是。发送 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&status=success&cause=delivered&time=12312432423 发送请求时,我的专用服务器崩溃了,因此上述 URL 出现多次一次,有时数千次,当我的客户发送 100,000 个号码的消息时,所有这 100,000 个号码的发送报告都被转发到我的脚本。

所以可能是因为这个原因,我的服务器崩溃了,无法访问。

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

感谢您的帮助,谢谢

最佳答案

问题可能出在您的数据库上,而不是脚本本身。我会检查您允许的最大连接数...默认情况下,此数字设置为 100。您可以拥有的最大连接数是 4,294,967,295

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

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


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

关于php - 使用 PHP 将转发的 URL 参数保存到 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41017439/

相关文章:

php - 如何在数据库中相应地保存 gmail 电子邮件

php - 如何将当前记录移动到另一个表并删除当前记录

PHP/mysql : Use column value in dropdown menu, 实际在数据库中添加PK ID值

sql - 测试 MySQL 表中是否存在行的最佳方法

php - 动态链接/下拉菜单

php - lynx unix 命令无法使用 URL 中的多个参数

php - 您将如何保护链接数据库不被抓取?

php - 为什么不使用引号选择?

php - 通过 PHP 将 MySQL 数据传递到 Modal Form

java - 让MySQL自动刷新