0

私が取り組んでいる PHP で書かれた Web サイトを公開する Apache サーバーがインストールされています。Web サイトの機能の 1 つは、新しいデータを MySQL データベースに挿入することです。データを挿入するとき、ユーザーはリンクを押します。リンクは、次のような行を含む PHP スクリプトを呼び出します。

$script_return = exec('python some_script.py);

Python スクリプトは、サイトのルート ディレクトリのルートに多数のファイルを生成します。これらのファイルの作成後、スクリプトは特定のシステムにちなんでファイルに名前を付け、(shutil を介して) サブフォルダーに移動します。スクリプトを手動で実行すると、すべて正常に動作します。ただし、Web サイトから実行しようとすると、ファイルは作成されますが、移動されません。.php スクリプトと .py スクリプトの両方に 777 権限があり、www-data グループに属していますが、それでも機能しません。

どんな助けでも大歓迎です。

4

1 に答える 1

0

www-data ユーザーが宛先フォルダーで適切な権限を持っていないようです。Apache がファイルを作成できる場合、ファイルを移動する権限が必要です。

ファイルを必要な場所に直接作成してみませんか? これにより、何が問題なのかについて、より具体的なエラーも表示されます。

また、後で確認できる場所に Python スクリプトでログ ファイルを書き込むこともできます。

整理したら、777 パーミッションを削除することをお勧めします。

于 2013-11-05T23:02:09.327 に答える