2017-12-08 29 views
0

私は現在、自分の仕事の情報を動的に取り出し、htmlページに表示するプロジェクトに取り組んでいます。これを達成するために、Pythonスクリプトを作成しました。このスクリプトは、PHP Webサービスを使用して呼び出されます。スクリプトは、動作させるためにいくつかのファイルを編集する必要があります。 基本的にPHPはスクリプトを実行します $output = shell_exec('python script.py');
問題は、Webサービスが呼び出された場合、スクリプトにファイルを編集するのに必要な権限がないことです。 ウェブサーバーは、$output = shell_exec('sudo python script.py');
のようにスクリプトを呼び出す必要があります。私はプロジェクトフォルダへのアクセス許可を変更する必要があるかもしれませんが、私はその方法はわかりません。 |
projectfolder
: いくつかの追加情報:
私はウェブサーバ フォルダ構造としてraspianにLAMPをインストールするとラズベリーパイ3を使用していますが、以下であります
- すべてのヘルプは高く評価されWebサービス上のLinux編集権限

-filetoedit2.htmlスタイル(CSSを含む)
-filetoedit1.txt
-script.py
-script2.py

+0

Webサーバーが実行されているユーザーを特定し、script.pyの所有権をそのユーザー – wpercy

+0

に変更します。もしsshを使用して実行しても、ブラウザを使用してwebserviceを呼び出すと、ip/projectfolder/webserviceとなります。 PHPはファイルを編集しません。 –

答えて

0

@wpercyが示唆しているように、どのユーザーがファイルを実行しているかを把握しておいてください。そのユーザーは通常、www-dataと呼ばれています。 どのユーザーがサービスを使用しているか調べるには ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1
ユーザーを見つけたら、そのフォルダーのアクセス許可を変更する必要があります。そのコマンドは何かのようになりますchown -R www-data:www-data /var/www/html/Projectfolder

wpercyに特別なおかげです!

関連する問題