簡體   English   中英

使用PHP腳本運行CLI命令

[英]Run CLI commands using PHP script

我想使用avconvflv文件轉換為mpg,它使用終端連續運行。 我的問題是使用php腳本運行命令。 我寫了一個代碼,但我沒有得到結果。 我的代碼如下

<?php
$cmd="avconv -i http://localhost/test3/a.flv http://localhost/test3/intermediate1.mpg";
$results = shell_exec($cmd.'2>&1');
?>  

我也嘗試過代碼,但沒有運氣

<?php
$cmd="avconv -i /home/elby/workspace/test3/a.flv /home/elby/workspace/test3/intermediate1.mpg";
$results = shell_exec($cmd.'2>&1');
echo $results;
?>

首先,第一個執行示例是無意義的,根據avconv手冊,它需要2個參數:

avconv [global options] [[infile options][-i infile]]... {[outfile options] outfile}...

你不能只告訴程序將文件保存到這樣的http協議。

第二次調用......有幾個可能的問題:

  • 您是從Web還是從CLI運行腳本? Web服務器可能(並且可能會)使用不能訪問文件夾的不同用戶
  • PHP腳本有超時(默認為30秒) ,視頻轉換需要更多
  • PHP可能禁用了shell_exec
  • PHP可能已打開safe_mode
  • PHP可能有PATH環境變量的問題,請嘗試使用絕對路徑
  • 禁用error_reporting您可能已記錄錯誤但未顯示
$cmd="avconv -i /home/elby/workspace/test3/a.flv /home/elby/workspace/test3/intermediate1.mpg";
$results = shell_exec($cmd.' 2>&1');
echo $results;

使用avconv的絕對路徑。

暫無
暫無

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

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