2017-07-28 11 views
0

phpでワインを始めるにはshell_exec( "wine ffmpeg.exe"); ?権限を設定する(PHP5)ubuntuバージョン14のshell_exec( "wine ffmpeg.exe")

(Ubuntuのバージョン14サーバ)

インストール

sudo apt-get install wine -y 

PHP5コード:

$cmd = "/usr/bin/wine /var/www/html/ffmpeg.exe upload/image.jpg" 
shell_exec($cmd); 

ffmpeg.exe場所: /VAR/WWW/HTML/

ワインは始まっていない?

FFmpegのLinux版?、PHPの実行方法shell_exec()?

Serverドメインは、問題になる可能性がwww-dataに共有ホスティング

権限にはないのですか?

ターミナルでffmpegが成功しました!

許可の問題があり、テストされていてコマンドが正しいだけです。
ffmpeg.exeまたはwineに不正なアクセス許可があります。それでも動作しない

コマンド(ffmpeg.exe)

chmod 755 ffmpeg.exe 
chown www-data ffmpeg.exe 

コマンド(は/ usr/binに/ワイン)

chmod 755 wine 
chown www-data wine 


sudo service apache2 restart

は、より多くの 'ワイン' ファイルである可能性がありにアクセス許可を適用する ご使用のサーバー用にFFmpegをダウンロードしてインストール、端末から問題が権限

+0

これは5つのupvotesと2つの好きな星をどのように持っていますか?あなたはそれが正しく始まっていないと仮定しますか?なぜあなたは何かを訴えているのですか?コマンドを実行しようとすると、STDOUT、STDERR、または戻り値を調べましたか?もちろん、ffmpegのLinux版があります。基本的なウェブ検索があなたに言ったでしょう。 PHP経由で実行するためには特別なことはありません。ここで質問する前に基本的な調査を行い、効果的な質問をするためのヒントについては[ask]をお読みください。 – Chris

+0

(STDOUT)。 $ proc = popen($ cmd、 'r'); echo $ proc; =(OUTPUT)リソースID#20 – user235423423424

+0

shell_exec($ cmd、$ output); var_dump($ output); (出力)= NULL – user235423423424

答えて

2

まず第一にする必要があり、私はすべてのエラーを出力することができないんだけど、とffmpegのにコマンドが正しい:https://www.ffmpeg.org/download.html、はい、のためのバージョンが存在しますLinux。

次に、exec()を使用してバックグラウンドでffmpegを実行すると、ビデオが別のページに移動するまで待つ必要はありません。

$cmd = 'ffmpeg -- parameters here --'; 
// 2>&1 is used for execute on background 
exec("$cmd 2>&1", $output); 
// Do you need to debug? 
// See ffmpeg results: 
var_dump($output); 
+0

ここでのインストールに問題はありません。ターミナルから実行すると動作します。 ffmpegとshell_execはエラーなしで実行されているため、ファイルのアクセス権が必要です – user235423423424

+0

PHPはCGIとして設定されていますか?おそらくphp-cliを実行してこれを動作させる必要があります。** [link](https://stackoverflow.com/questions/566248/cant-execute-php-script-using-php-エグゼクティブ)** – Triby

+0

@ user235423423424あなたがそれを必要としない場合は、Wineを使用しないでください。ここにはまったく必要ありません。単にffmpegのネイティブバージョンを使用してください。これはほぼ確実に高速で、メモリを少なくし、エラーを少なくします。 – Chris

関連する問題