OK、私はコマンドラインからコマンドを実行できる理由を考えていますが、PHPのexec()から
私はいくつかの創造的な検索を行い、ロードブロックを打っています。
私はLinuxプログラム "sox"を使用しようとしています。私はPHPスクリプトから呼び出そうとしています。コマンドラインを使用すると、スクリプトは機能しません。しかし、私はPHPのexecを使用すると、動作しません。
例:
sox file1.mp3 file2.mp3 tempfile.mp3 -V3
(「V3」は冗長出力を指定します)
「ユーザX」として、またはrootとしてコマンドラインで実行し、私は新しいファイルを作成することができています。しかし、次のようにコマンドを実行した場合:
<?php
exec('sox file1.mp3 file2.mp3 tempfile.mp3 -V3', $output);
foreach($output as $line){
print $line;
}
新しいファイルは生成されません。さらに、コマンドの結果を返す配列は空白です。
私は
exec(ls,$output);
で単純なテキストを行っていると私は、ルートディレクトリの内容を取得します。
私はPHPコマンドget_current_user()
を使用し、ウェブサイトのルートであるディレクトリの所有者を返しました。
しかし、linuxコマンドwhoami
を使用すると、現在の人物が「apache」と表示されることがわかりました。私は、このプログラムを使用するための権利をApacheに与える必要がありますか?
私はオンラインで検索し、試行錯誤して私が間違っていることを理解しようと努力します。どんな助けもありがとうございます。
明確化
- 私はセーフモードではないです(私は のphpinfo()ページ」をチェックする)
OKでPHPを実行しているので、ここで大きな取引が1だった場合(Apache)は、出力フォルダへのアクセス権を持っている必要があります。 – Scott