首先,感谢任何关注我的问题的人。我不是PHP,Apache或MySQL的专家,所以请耐心等待。我创建了一个小脚本,它将使用fgetcsv将CSV文件循环并插入到MySql中。这个脚本在CRON作业上运行了大约2个月而没有任何问题。我相信在Godaddy更新Apache(2.2到2.4)时它停止工作并返回500内部错误。我刚开始创建一个包含不同CSV文件的新脚本时,我才发现我的第一个CSV文件有同样的问题。到目前为止,我已经用Google搜索了我能想到的与我的问题有关的所有内容,我已阅读了许多Stackoverflow的答案,并与Godaddy一起待了2个小时(他们最后说他们不知道为什么,并且他们相信某些事情在我的脚本中导致问题,但无法进一步建议)。也许这与更新没有任何关系,但奇怪的是这种情况在这样的更新后就停止了。 在此更新之前,我的脚本需要34秒才能完成。现在我得到500错误,如果有人可以看到我的脚本有问题或者可以告诉我为什么突然停止我会非常感激。
<?php
session_start();
define("USERACCESSCONTROL", "TRUE");
include 'c_db.php';
if (!$importcsv = fopen("../sync/IVQtyPvt.csv", "r")) {
echo "could not open file";
} else {
do {
If ($i > 1) {
if ($data[0]) {
$updatecsv = $inv_con->Prepare("INSERT INTO slave_inventory
(ITEMNMBR,ITMGEDSC,CDC,MAIN,RTO1,RTO2,CDA,KEN,MIS,VAL,
KAL,QTYONORD,QTS_CDC,QTS_KEN,QTS_MIS,QTS_KAL,STNDCOST,
updated) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,NOW())
ON DUPLICATE KEY UPDATE ITMGEDSC=?,CDC=?,MAIN=?,RTO1=?,
RTO2=?,CDA=?,KEN=?,MIS=?,VAL=?,KAL=?,QTYONORD=?,
QTS_CDC=?,QTS_KEN=?,QTS_MIS=?,QTS_KAL=?,STNDCOST=?,
updated=NOW()");
$updatecsv->bind_param("ssiiiiiiiiiiiiiiisiiiiiiiiiiiiiii",
$data[0], $data[1], $data[2], $data[3], $data[4],
$data[5], $data[6], $data[7], $data[8], $data[9],
$data[10], $data[11], $data[12], $data[13],
$data[14], $data[15], $data[16], $data[1], $data[2],
$data[3], $data[4], $data[5], $data[6], $data[7],
$data[8], $data[9], $data[10], $data[11], $data[12],
$data[13], $data[14], $data[15], $data[16]);
$updatecsv->execute();
}
}
$i++;
} while ($data = fgetcsv($importcsv, ","));
}
?>
以下是我的日志文件中的重复条目。
[Fri Aug 02 04:31:29 2013] [9618523] [dir:error] [client 64.74.215.89:33823]在mod_dir中,将document_root设置为PARENT_DOCUMENT_ROOT:/ var / chroot / home / content / 23/9618523 / HTML [fcgid:warn] [client 70.89.210.90:55475] mod_fcgid:在120秒内读取数据超时 [Fri Aug 02 09:30:34 2013] [9618523] [core:error] [client 70.89.210.90:55475]标题前的脚本输出结束:
我已添加到我的php.ini和php5.ini
max_execution_time = 340
max_input_time = 340
将此添加到我的.htaccess(修复可能的fastcgi问题)
AddHandler x-httpd-php5-cgi .php
AddHandler x-httpd-php5-cgi .php5
仍然没有骰子 我的CSV文件有17列,27000行,如果有更好的方法可以做到这一点,我会对此持开放态度,但我无法获得LOAD INFILE,因为我在共享主机上工作。
答案 0 :(得分:0)
原来Godaddy是问题所在,我的脚本开始自己再次工作。我想这就是我在Godaddy上共享托管所得到的。我想我很快就会转换主持人。