0
工作我想在PHP中執行以下命令:了shell_exec不crontab中
<?php
shell_exec('echo -e "`crontab -l`\n* * * * * mycommand" | crontab -');
當我這樣做,什麼都不會發生,沒有誤差修改,沒有消息,沒有任何反應。但是當我直接在bash上鍵入它時,它工作的很好!
所以我做了一些谷歌和一些傢伙告訴在命令的末尾使用2>&1
。所以:
<?php
shell_exec('echo -e "`crontab -l`\n* * * * * mycommand" | crontab - 2>&1');
但現在當我回聲輸出我有此錯誤: 「 - 」
:0:在crontab文件壞分鐘的錯誤,無法安裝。
可能會發生什麼?
因爲shell_exec不會輸出任何錯誤,所以不會有錯誤。它從命令返回任何輸出,但不輸出該輸出本身。如果你想捕獲返回值/錯誤,那麼你需要使用[exec()](http://php.net/manual/en/function.exec.php)。 –
exec沒有輸出。 shell_exec有,對嗎?我在第二次測試中獲得了shell_exec的輸出結果。 –
'shell_exec - 通過shell執行命令並將完整的輸出作爲字符串返回'無處說「輸出到屏幕」。 –