0
我一直在嘗試使用將由apache執行的python腳本寫入文件。這是我的腳本:用apache運行python腳本給出權限錯誤
#!/usr/bin/env python
print "Content-Type: text/plain"
print "Cache-Control: no-store"
print "Pragma: no-cache"
print "Expires: 0"
print
file_name = '/my/path/file.ext'
try:
open(file_name, 'w').write('hello')
print "Good"
except IOError as e:
print "I/O error({0}): {1}".format(e.errno, e.strerror)
except Exception, e:
print str(e)
當我通過命令行運行腳本,結果是:Good
,但是當Apache運行腳本,我得到I/O error(13): Permission denied
一對夫婦的筆記:
- 它試圖寫該目錄是可寫的(+ W)
- 該文件是一個可執行目錄(+ x)和所有的父目錄ectories也是可執行的
- 我一直在通過命令行使用與apache相同的用戶(它正在工作)運行腳本。
不要打擾CGI。如果你有一個數據庫使用django。如果你不使用Flask。 – e4c5
@ e4c5這是一個更大項目的一部分,切換到flask(或django)是不可能的。 – Rodolfo
好的,但是像CGI一樣抓住CGI讓我想起我們20年前做過的事情 – e4c5