我想每天運行一個腳本,它將從數據庫中選擇數據,遍歷結果併爲每行結果執行另一個腳本。然後第二個腳本將運行更多查詢並從數據創建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()函數。
非常感謝任何幫助和建議如何最好地實現這一點,而不會崩潰!
只是一個想法,但也許如果你還包括你的第二個腳本的代碼,人們也許可以通過指出任何優化來幫助你,如果可能的話。 –