簡體   English   中英

通過PHP的Unix`at`命令

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM