2009-11-07 93 views
2

我該如何將它重寫成每天運行時間超過30秒的cron?另外,我是否需要編輯cron.php目錄中的.htaccessphp.ini文件來說一些事情?在瀏覽器上運行時間超過30秒,在外殼上,它也運行得很好。但是作爲cron set任務,它會在30秒後死亡。我在1and1共享主機上。如何讓Cronjob執行PHP腳本運行超過30秒?

0 12 * * * php5 /this/is/the/file/cron.php 
+1

接受一些答案 – 2009-11-07 19:21:55

回答

3

使用此語法啓動PHP:

php -c /path/to/another/php.ini /this/is/the/file/cron.php 

然後你就可以在不同的php.ini文件指定一個不同的超時(或無超時)。

1

我只想用wget http://path.to.myscript.php

如果它的30後死亡,你可能需要設置max_execution_time = 60php.ini,以允許腳本超過30秒運行的時間更長。

4

有幾件事情可能會終止您的腳本。可以是php.ini文件中設置的最大執行時間。如果是這種情況,您可以在腳本中用set_time_limit(0);覆蓋它,其中零代表沒有限制,任何大於零的數字是允許腳本在終止之前運行的秒數。需要注意的是,這次不包括瀏覽器發出請求所需的時間,因此文件上載時間不會計入此處。

如果你在一個共享的宿主環境(如Dreamhost),他們有過程監視,將在設定的時間限制後關閉任何PHP進程。你無法繞過這些。您需要聯繫託管服務提供商以瞭解您需要做些什麼來獲得運行腳本的時間(Dreamhost,他們希望您擁有PS服務)。

3
ini_set('max_execution_time', 600); 

將此添加到您的php文件的頂部,它將運行600秒。任何更多不建議,但你可以有一個去,如果你想。

相關問題