2012-10-17 34 views
0

我遇到了運行屏幕會話的腳本問題。從PHP腳本運行命令:sh:1:screen:not found

<?php exec("screen -m -d ffmpeg2theora -v 3 /path/to/video.mp4"); ?> 

,看看這對日誌:

Wed Oct 17 16:17:39 2012] [error] [client 83.5.x.x] sh: 1: screen: not found, referer: http://xxxxxx.xx 

它停止對一些更新(?阿帕奇/ PHP/suphp)工作,在這之前是工作般的魅力 任何想法是什麼happend,如何配置suPhp /阿帕奇?

+2

當您從命令行運行相同的命令時會發生什麼? – afuzzyllama

+3

它看起來像您的路徑變量未設置。所以你需要運行'哪個屏幕'這將給你的可執行文件的完整路徑。看起來像'/ usr/bin/screen'的東西 –

+0

@afuzzyllama從bash(php5-cli -f file.php)會話開始運行腳本並轉換電影 – r4ven

回答

0

如果你想PHP在後臺啓動一個長時間運行的命令,爲什麼不嘗試以下操作:

<?php pclose(popen("/usr/bin/nohup /path/to/ffmpeg2theora -v 3 /path/to/video.mp4 >/tmp/result 2>&1", "r")); ?> 

它總是明智的做法是使用顯式在這種情況下的命令路徑。

+0

這是至少(runnung視頻轉換),但不在後臺工作... – r4ven

0

相反,簡單地做:

exec("ffmpeg2theora -v 3 /path/to/video.mp4 &");