2016-12-10 13 views
0

とPythonスクリプトを実行するには:権限は、PHPのexec()私はPHPで以下のコマンドを実行しようとしている

<?php exec("xdg-open file") ?> 
<?php exec("python file.py") ?> 

すべてのファイルが/var/www/htmlです。

他の簡単なコマンドも動作しているようです。たとえば:

<?php exec("touch file.txt") ?> 
<?php echo exec("ls") ?> 
<?php echo exec("whoami") ?> 

私はPHP(sudoを必要とするものなし)を使用して、任意のPython /シェルコマンドを実行できるようにしたいです。許可の問題ですか?もしそうなら、私は何ができますか?

答えて

0

ファイルを実行するには、ファイルに実行可能なアクセス許可があることを確認します。サーバー環境で

chmod +x file.py 

、別のプロセスで実行する場合は、Apache/nginxの経由インスタンスPHPのために、これらのアクセス権は、そのサーバー・プロセスを実行しているユーザーに関連付けられている必要があります。所有者は、Webサーバーと同じであり、その所有者が実行権限を持っているので、例えば

、のあなたのファイル名はfile.pyあるとしましょう

fily.pyの権限を設定する必要があります。私たちは、所有者を変更することができますchown

、弊社のWebサーバがHTTPユーザーとHTTPグループとして実行言うことができます:

chown http:http file.py 

chmod o+x file.py 

プロセスは、所有者が、同じグループに含まれていない場合:

chmod g+x file.py 

またはどちら:

chmod o+x file.py 
+0

私はちょうどあなたが言ったことを試みた、それはまだ動作していません。多分私は間違ったことをした。サーバーが使用するユーザーは、所有者でもあるwww-dataです。私は、Pythonスクリプトを使用して曲を再生しようと何も起こりません。 – C10H15N

+0

表示された出力を提供してください。 – Exodus

+0

さまざまなことが考えられますが、PHPはセーフモードを実行していますか?例えば。 – Exodus

関連する問題