运行代码出现Internal Server Error
1. 问题描述?
运行一段代码时,总会出现报错(报错见下),只会保留前十几次遍历,是apache的配置问题吗(开启了重写),希望各位指点一二
foreach ($goods as $good) {
$json=Helper_Curl::get('http://xxx/?action=good&num='.$good->good_num.'&lang=en');
$result=json_decode($json,TRUE);
if (!empty($result['data'])){
foreach ($result['data'] as $r){
//业务代码
}
}
}
2. 您期望得到的结果?
能完全遍历完成,保留业务处理的数据
3. 您实际得到的结果?
加载一段时间后出现报错页面,前十几次业务数据保留,后面的没有
.htaccess文件
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteBase /
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ website/$1 [QSA,PT,L]
超时了啊,修改一下超时时间和脚本运行时间试试
foreach里面去CURL,大概率是超时了。
看看日志行吗?
curl换成多请求异步的方式吧。能用脚本就用脚本