2012-01-03 113 views
1

分叉一個新進程目標:通過PHP代碼啓動VLC播放器,並在播放器中播放指定的視頻。 操作系統:Ubuntu 11.10如何在我的操作系統上使用PHP

問題:請參考下面的腳本(還是PHP新手),我看不到視頻播放,甚至沒有執行該腳本的後臺VLC進程。你能指出這個問題和適當的文件,這將有助於我做這項工作嗎?如果我在shell上發出相同的命令,視頻播放,但在使用PHP的「系統」命令時,不播放視頻。

腳本:在網頁上

<?php 
system('/usr/bin/vlc /home/atish/Videos/TEDGary.avi', $retval); 
echo $retval; 
?> 

輸出:

0 

更大的目標:我要爲用戶運行我的應用程序(C代碼)提供webinterface。我的C代碼應用程序實現了一些視頻代碼轉換和管理工作流程,我希望能夠在後臺運行該C代碼,並且當它完成時,我想用VLC播放視頻。

謝謝。

+2

你想在哪裏開始vlc播放器?在服務器上?在客戶端?客戶端和服務器始終是同一臺機器嗎? – VolkerK 2012-01-03 11:39:05

+0

是的,客戶端和服務器是同一臺機器。我只是想以某種方式爲我的應用程序提供Web界面。我想讓視頻在正在執行php腳本的同一臺機器上啓動...... – user940154 2012-01-03 11:44:15

+0

出現的第一個問題是:用戶的Web服務器運行時是否具有在用戶當前桌面中打開窗口的權限? – 2012-01-03 11:55:48

回答

0

讓每個人都使用X服務器:

xhost + 

在腳本中,在執行命令時設置DISPLAY變量:

system('DISPLAY=:0 /usr/bin/vlc /home/atish/Videos/TEDGary.avi', $retval); 

不過,我也建議你考慮使用xhost時的安全隱患。

+0

謝謝。這工作。 – user940154 2012-01-03 13:28:33

2

首先,您必須提供一些操作系統信息(Linux?Mac?),以及可能的一些關於窗口管理器的信息。在VLC中播放視頻可能比僅啓動後臺進程稍微困難一些,後面會解釋這一點:http://www.php.net/manual/en/function.exec.php

獲取gui應用程序並運行可能會非常棘手,但使用「xhost」並導出DISPLAY配置 - 看到PHP from commandline starts gui programs but apache doesn't

+0

我使用的是Ubuntu 11.10。 – user940154 2012-01-03 11:49:54

+0

謝謝你,第二個鏈接幫助。我能夠看到vlc現在彈出。謝謝! – user940154 2012-01-03 13:27:30

1

如何:

<?php 
exec('nohup /usr/bin/vlc /home/atish/Videos/TEDGary.avi &'); 
?> 

的&末告訴進程在後臺和前臺的nohup的運行講述的過程中不被殺死時,啓動shell(在此情況下php)被關閉。

0

您需要PHP才能夠使用您的用戶帳戶(以您身份登錄)才能打開圖形窗口。 PHP通常使用apache的用戶而不是你自己的用戶。我不知道是否可以使用一個用戶帳戶進行2個進程。嘗試使用SU命令或其他命令。

相關問題