簡體   English   中英

來自腳本的PHP shell_exec似乎不起作用

[英]PHP shell_exec from a script doesn't seem to work

我使用的PHP需要在后台運行PHP。 我使用shell_exec來執行此操作,並傳遞了它需要正確運行的參數。

例:

shell_exec('php /home/nobounces/crons/process3.php ' . $_SESSION['user_id'] . ' ' . $job['job_id'] . '  >/dev/null 2>&1');

但是,當在用戶“ nobounces”下從PHP腳本運行時,它根本不會運行。

我以root用戶身份通過​​SSH測試了完全相同的呼叫,並且運行正常。

我在通話中遺漏了什么嗎?

">/dev/null 2>&1"可以避免等待響應,因為腳本可能要花幾個小時才能完成。

在cpanel服務器上運行時,解決方案是使用:

shell_exec('/usr/local/cpanel/3rdparty/bin/php /home/nobounces/crons/process3.php ' . $_SESSION['user_id'] . ' ' . $job['job_id'] . ' >/dev/null 2>&1 &');

您還可以通過以下路徑使用PHP-CGI:

/usr/local/cpanel/3rdparty/bin/php-cgi

感謝@arkascha的建議。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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