我想每天运行一个脚本,它将从数据库中选择数据,遍历结果并为每行结果执行另一个脚本。然后第二个脚本将运行更多查询并从数据创建XML文件。有时候可能是大量的数据。PHP正在运行Cronjob和脚本 - 超时/内存查询
//RUN SCRIPT DAILY TO GET ALL CATEGORY AND PRODUCT XML FOR STORES
set_time_limit(0);
$select= "SELECT * FROM bookstores" ;
$run = mysql_query($select);
while($row = mysql_fetch_array($run)){
//run 2nd script here but how?
}
我有两个问题:
1)什么是while循环执行第二个脚本的最佳方式?在第二行设置脚本再次运行之前是否必须完成第一行的第二个脚本,或者它们是否都会同时运行?
2)当我运行第二个脚本,它适用于大多数,除非有太多的结果,在这种情况下,我得到了以下错误:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 71 bytes) in /var/www/web/classes/class.Products.inc.php on line 90
将从运行或该停止脚本1将它移到下一行并重新执行脚本?注意我在两个脚本中都使用了set_time_limit()函数。
非常感谢任何帮助和建议如何最好地实现这一点,而不会崩溃!
只是一个想法,但也许如果你还包括你的第二个脚本的代码,人们也许可以通过指出任何优化来帮助你,如果可能的话。 –