作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用下面的代码来创建和迁移表,虽然它可以运行,但速度非常慢。大约需要 10 分钟完成创建大约 250 个表并迁移数据。转储的总文件大小约为 1 Mb。请注意,这是在 localhost 上,部署到网络不可靠的服务器时,恐怕需要 5 倍的时间。
能否优化此代码以使其在大约 30 秒内运行?
function uploadSQL ( $myDbName ) {
$host = "localhost";
$uname = "username";
$pass = "password";
$database = $myDbName;
$conn = new mysqli($host, $uname, $pass, $database);
$filename = 'db.sql';
$op_data = '';
$lines = file($filename);
foreach ($lines as $line)
{
if (substr($line, 0, 2) == '--' || $line == '')
{
continue;
}
$op_data .= $line;
if (substr(trim($line), -1, 1) == ';')
{
$conn->query($op_data);
$op_data = '';
}
}
echo "Table Created Inside " . $database . " Database.......";
}
最佳答案
您可以使用 cron job 自动完成此过程而无需等待。有时此过程因 PHP 执行超时而失败。
要增加 php 中的执行超时,您需要更改 php.ini 中的一些设置:
max_execution_time = 60
; also, higher if you must - sets the maximum time in seconds
关于php - 如何优化 PHP 代码以上传 SQL 转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52118962/
我正在为我的应用程序使用 Tank-Auth。我唯一的问题是激活和重置帐户密码。 用于登录、注册、注销;我对这些代码没有问题; $route['login'] = "/auth/login"; $ro
我是一名优秀的程序员,十分优秀!