我有大约 600 条来自输出查询的记录。然后我制作一个带有循环的更新脚本
在装有xampp 1.7.3(PHP5和MySQL5)的Windows上,运行正常且快速。并成功更新。
但是当我上传到我的主机(CentOS 服务器)时,我看到进程更新数据变长,然后我得到 500 内部服务器错误。当进程运行时,刷新表数据库i,每行更新数据的时间很长。所以只有大约20条记录可以更新,然后得到500个内部服务器错误。
有关信息,在我的主机应用程序服务器(PHP4)和数据库服务器(MySQL4)上是不同的服务器。
使用循环数组处理更新数据:
foreach($kode as $id => $kdid) {
$page->adodb->StartTrans();
$qw->sqlExecute($sql['update_data'],array($tglmasuk[$id],$no_urutan[$id],$kode[$id]), false);
$page->adodb->CompleteTrans();
}
文件 SQL :
$sql['update_data'] = "UPDATE history
SET
tgl_masuk = '%s',
no_urutan = '%s'
WHERE id_history = '%s'"
错误日志 :
[2015年3月16日星期一08:47:19] [警告] [客户端 192.168.1.122] 等待从 CGI 脚本/var/www/cgi-bin/php 输出超时,引用者:http://myurlproccessubmit
[2015 年 3 月 16 日星期一 08:47:19] [错误] [客户端 192.168.1.122] 脚本标头过早结束:php,引用:http://myurlproccessubmit
有人可以帮助我解决问题吗?
错误是脚本未在允许的最大执行时间内完成。
您可以尝试在脚本开头使用以下命令增加最大执行时间:
ini_set('max_execution_time',120);
http://php.net/manual/en/info.configuration.php#ini.max-execution-time
max_execution_time也可以在.htaccess文件中设置:
<IfModule mod_php5.c>
php_value max_execution_time 120
</IfModule>
您也可以向托管公司寻求帮助。