わかった、
私はいくつかの創造的な検索を行い、一種の障害にぶつかっています。
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()
と、Webサイトのルートであるディレクトリの所有者が返されました。
しかし、linuxコマンドを使用するwhoami
と、現在の人が「apache」と見なされていることがわかりました。プログラムを使用する権利をapacheに与える必要がありますか?
私はオンラインで検索を続け、自分が間違っていることを理解するために試行錯誤を繰り返します。どんな助けでも大歓迎です。
明確化
- セーフモードではありません(phpinfo()ページを確認しました ")