我從一個PHP文件啓動的文件夾「摺疊」中有一個簡單的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組。
- 我允許通過該文件夾寫入組。
- 我設置了蟒蛇文件,所有人都可以執行。
這似乎是正常的嗎?但是,PHP報告的錯誤是沒有寫權限。我也用PHP測試了用戶:
echo 'current user :'.exec('whoami');
它是「apache」,它顯然屬於同音詞組。
所以,我在哪裏出問題了,什麼設置滿足是最好的和最簡單的之間的平衡?謝謝!
那麼答案顯然是剛剛運行'chmod 777'的有問題的目錄 - 但我認爲它有一些原因,你不想這樣做?此外,生成「無寫入權限」錯誤的代碼是什麼?你究竟在什麼(以及在哪裏)得出這個結論呢? – DaveRandom
當然,chmod 777是最簡單的解決方案,但是出於安全考慮可能是最糟糕的。爲了得到這個錯誤,我把標準錯誤流傳送給了php,它的確切文本我不記得了,但是當通過文件夾禁用寫入權限時,這是通常的python錯誤。 – grokkaine
我真的很驚訝沒有在互聯網上找到一個好的配方,我期望所有的python web開發教程都以此開始! – grokkaine