1

ファイルに書き込み、その内容を取得してデータを表示する python スクリプト (同じフォルダー) を呼び出すことになっている Web サーバーに PHP ファイルがあります。

PHPファイルはq.php

を含む

<?php
   $tmp = exec("trivia.py");
   sleep(4);
   $homepage = file_get_contents('./testfile.txt', true);
   echo $homepage + '<p>exec ret:' + $tmp;
   echo exec("whoami");
?>

このファイルはtrivia.py、ファイル ("./testfile.txt") を書き出す を呼び出し、次に php がファイルからデータを取得して表示します。execが機能しているかどうかを確認するために変数を追加し、それが返され0ました。PHP サーバーはユーザー によって実行されていますhttp

今でtrivia.pyは、ファイルの先頭に次の行があります

#!/usr/bin/env python

サーバーにSSHで接続すると、完全に正常に実行されます。SSH からスクリプトを実行すると、上記で指定したファイルが作成され、Web ページが正常に動作します。ただし、PHP ファイルを使用して作成した場合、Web からは機能しません。

これはどこかのアクセス許可と関係があると確信していますが、Linux のアクセス許可についてはあまり得意ではありません。

システム情報: Synology Diskstation、DSM5、PHP5、Python 2.7

編集:

trivia.pyadmin現在、所有者とグループの権限として 777 がありますusers

4

2 に答える 2