我有一個Python CGI腳本這需要形式輸入x
和y
(整數),並把它傳遞給使用subprocess
一個C++可執行該程序這兩個值的總和寫入到文本文件。無法寫入Linux服務器編程文件
該代碼在我的本地機器上正常工作。然而,經過多次測試後,我發現無論何時在我的服務器上運行此程序(在/var/www
中)並嘗試寫入文件時都會發生某種錯誤,因爲我收到了「內部服務器錯誤」頁面。
服務器不是我的,所以我實際上沒有sudo權限。但是從putty中,我可以手動運行可執行文件,並且它確實寫入文件。
我的猜測是我必須以某種方式運行python腳本中的可執行文件,但有一定的權限,但我不確定。我將不勝感激任何建議!
編輯:
@gnibbler:有趣的是,我能夠寫入文件到/ tmp目錄沒有問題。
所以我認爲你的建議是正確的,服務器根本不允許我從瀏覽器調用腳本時寫入。
另外,我無法訪問帶有錯誤日誌的目錄,所以我將嘗試獲得該權限。
腳本是否通過網絡服務器「啓動」?因爲如果是這樣,WS已經是如何在服務器上的用戶(或我認爲是這樣) – DonCallisto
是Web服務器正確配置,以啓動CGI腳本?你有沒有測試cgi是否可以工作? –
腳本不會以您的權限運行,它將以Web服務器的權限運行。如果服務器沒有寫訪問權限,那麼腳本將會因爲錯誤而死亡,就像您所描述的那樣。 – tripleee