PHPファイルから起動されるフォルダ "fold"に単純なPythonスクリプトがあります。同じディレクトリにファイルを作成し、PHPに戻ります。pythonスクリプトがファイルを作成できるようにするための最も良い/最も簡単なApacheサーバー/フォルダ設定は何ですか?
f = open("t.txt","w")
f.write("test")
f.close()
あなたはしてPHPからそれを呼び出すことができます。
$proc=proc_open("fold/simple.py",array(0=>array('pipe','r'),1=>array('pipe','w'),2=>array('pipe','w')),$pipes);
または
execute("python fold/simple.py");
など。私には論理的に思えた
の設定があった。
- 私は、フォルダの所有者とpythonファイルの間にapacheグループを追加しました。
- 私はそのフォルダの上にグループの書き込みを許可しました。
- pythonファイルをすべてに対して実行可能に設定しました。
これは正常なようですか?しかし、PHPから報告されたエラーは、書き込み権がないことです。私はまた、PHPからユーザをテストしました:
echo 'current user :'.exec('whoami');
これは明らかに同名のグループに属しています。
だから、どこが間違っていますか、どの設定が最高と最高のバランスを満足させていますか?ありがとう!
まあ明白な答えは、ちょうど '777'にchmodしていますあなたがこれをやりたくない理由がありますか?また、 'no write rights'エラーを生成するコードは何ですか?あなたはこの結論に来るために何を(そしてどこで)チェックしていますか? – DaveRandom
もちろん、chmod 777は最も単純な解決策ですが、セキュリティ上の懸念から最悪の可能性があります。エラーを取得するには、標準エラーストリームをPHPにパイプし、その正確なテキストを思い出しましたが、書き込み権限がフォルダに対して無効になっているのは通常のPythonエラーでした。 – grokkaine
私は実際にインターネット上でこのための良いレシピを見つけることに驚いています、私はこれで始まるすべてのPython Web開発チュートリアルを期待しました! – grokkaine