ファイルに書き込み、その内容を取得してデータを表示する 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.py
admin
現在、所有者とグループの権限として 777 がありますusers