PHP(PHP4) 循环更新数据在 CentOS 上出现“500 内部服务器错误”,但在 Windows (XAMPP)


PHP(PHP4) Update data with looping got "500 Internal Server Error" on CentOS but not in windows (XAMPP)

我有大约 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>

您也可以向托管公司寻求帮助。