請問一下我用了一個php程序然後是利用CronJobs去固定時間執行
裡面其中有個程序是INSERTINTO數據到mysql確認是否有執行上述php程序
所以只要是有執行,就會INSERT進去(所以有沒有成功我會知道)
但是很怪異的是
為什麼用CronJobs執行這個php程序時
上述的php程序沒有做到
但是卻有INSERT數據進mysql?
他完全跳過了某段程序?
我那個程序是備份mysql,然後再某目錄產生.sql檔案,類似這樣:
$filename="".date("Y-m-d-H:i",time())."_auto-backup.sql";$fp=fopen('sql/auto/'.$filename.'','w');fputs($fp,$mysql);fclose($fp);
更怪異的是
我直接keyurl去直接訪問該php卻是成功的!的確有產生sql檔案.....
但是為什麼用CronJobs替我執行卻不行?完全跳過這個程序........
再請問一下....要如何調整CronJobs的時間?我現在設定每天執行兩次(每12小時執行一次),但我的理想是中午12點與凌晨12點,他現在執行時間是下午三點跟凌晨三點....
你可以我的这边博客。解决方法应该是:
全部使用绝对路径。
cron里的路径用绝对路径试试,即从/开始
直接执行可以,是因为有很多环境变量的配置可以用,当你使用cron的时候,这些环境变量的配置都被屏蔽了,所以要从根目录开始写。当然,如果你的程序明确指明了当前执行的目录时,后面的代码也可以使用一些相对路径。不过总的来说,还是全部绝对路径比较靠谱