【发布时间】:2011-11-10 13:13:23
【问题描述】:
我想每天运行一个脚本,该脚本将从数据库中选择数据,遍历结果并为每行结果执行另一个脚本。然后,第二个脚本将运行更多查询并根据数据创建 XML 文件。有时可能是大量数据。
//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)当我运行第二个脚本时,它适用于大多数情况,除非结果太多,在这种情况下我会收到以下错误:
致命错误:允许的内存大小为 134217728 字节已用尽(已尝试 在 /var/www/web/classes/class.Products.inc.php 中分配 71 个字节) 在第 90 行
这会停止脚本 1 的运行还是会移动到下一行并重新执行脚本?注意我在两个脚本中都使用了 set_time_limit() 函数。
非常感谢您就如何在不崩溃的情况下最好地实现这一目标提供任何帮助和建议!
【问题讨论】:
-
只是一个想法,但如果您也包含第二个脚本的代码,如果可能的话,人们可能会通过指出任何优化来提供帮助。