php导入大文件,一般有2个问题,超时
和内存不足
,可以通过脚本执行来解决
fecmall用console入口的脚本来执行,循环控制使用shell脚本,这样就不担心内存不足的问题
例子: @fecshop/shell/computeProductFinalPrice.sh
#!/bin/sh
Cur_Dir=$(cd `dirname $0`; pwd)
# get product all count.
count=`$Cur_Dir/../../../../yii product/price/productcount`
pagenum=`$Cur_Dir/../../../../yii product/price/productpagenum`
echo "There are $count products to process"
echo "There are $pagenum pages to process"
echo "##############ALL BEGINING###############";
for (( i=1; i<=$pagenum; i++ ))
do
$Cur_Dir/../../../../yii product/price/computefinalprice $i
echo "Page $i done"
done
###### 1.Sync Section End
echo "##############ALL COMPLETE###############";
先通过计算,得到pagenum
页数,然后通过shell的循环,每次发起一个php执行,执行每页的数据,执行完成释放