[英]Unix `at` command via PHP
這是我的代碼,用於at
工作中創建新at
...
system('echo \\'php -f /path/to/my/php/file.php\\' | at 1700');
我以為這很簡單並且可以正常工作,但是可惜沒有任何反應!
當我運行echo \\'php -f /path/to/my/php/file.php\\' | at 1700
echo \\'php -f /path/to/my/php/file.php\\' | at 1700
通過ssh,一切正常。
這是權限問題嗎? 即不允許PHP at
工作中創建新at
?
僅供參考,您必須確保允許您從PHP腳本執行系統命令。
許多服務器已禁用此功能。
但是,如果您想重新啟用此功能(我相信您可以在php.ini文件中啟用),則必須關閉safe_mode。
當允許用戶提供的數據傳遞給此函數時,請使用escapeshellarg()或escapeshellcmd()來確保用戶不會誘使系統執行任意命令。
如果使用此功能啟動程序,則要使其在后台繼續運行,必須將程序的輸出重定向到文件或其他輸出流。 否則,PHP會掛起,直到程序執行結束。
注意:啟用安全模式后,您只能在safe_mode_exec_dir中執行文件。 出於實際原因,當前不允許在可執行文件的路徑中包含..組件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.