有index.php檔案,其中包含代碼:
header("Location: /from_index.php"); # 重新導向(from_index.php的檔案位置在:/www/)
使用crontab -e加入定時任務:
*/5 9-23 * * * sleep 50 && php /www/index.php # php指令碼的絕對路徑
請問這樣的結構中,會執行from_index.php中的代碼嗎?
我瞭解到如果寫成:
*/5 9-23 * * * sleep 50 && curl -L -e '; auto' http://127.0.0.1/index.php # http訪問
是能夠執行到from_index.php中的代碼的。但是這樣的寫法是否沒有使用php命令效率高?
回複內容:
有index.php檔案,其中包含代碼:
header("Location: /from_index.php"); # 重新導向(from_index.php的檔案位置在:/www/)
使用crontab -e加入定時任務:
*/5 9-23 * * * sleep 50 && php /www/index.php # php指令碼的絕對路徑
請問這樣的結構中,會執行from_index.php中的代碼嗎?
我瞭解到如果寫成:
*/5 9-23 * * * sleep 50 && curl -L -e '; auto' http://127.0.0.1/index.php # http訪問
是能夠執行到from_index.php中的代碼的。但是這樣的寫法是否沒有使用php命令效率高?
php的執行
1.cli方式,直接用php指令碼執行
php index.php
2.經過伺服器請求cgi方式
curl -L http://127.0.0.1/index.php
header函數跳轉,是伺服器響應給curl(相當於瀏覽器)做重新導向,然後重新請求伺服器
因此php /www/index.php,header函數是不會起作用的進行跳轉到index.php指令檔,因為沒有經過伺服器。
//index.phpheader("Location:demo.php");
//demo.phpecho "this is demo";
請求結果圖
伺服器接收到的請求圖
如果使用curl的話你需要開啟它的重新導向開關
curl 不可以使用 header
直接再在代碼裡面用 system 調用php命令執行那個php檔案 不可以這樣?
第一個問題,不會,
第二個,不會有直接執行cli的效能高