簡體   English   中英

在Apache中使用Anaconda Python時,標頭之前的腳本輸出結束

[英]End of script output before headers when using Anaconda Python in Apache

我正在嘗試使用cgi在Ubuntu上運行Ananaconda Python 2.7腳本,但是在var/log/apache2/error.log出現以下錯誤消息,並出現錯誤500。

 No such file or directory: AH01241: exec of '/var/www/html/app/getcapabilities.py' failed
 End of script output before headers: getcapabilities.py

以下是我的apache apache2.conf的外觀。

<Directory /var/www/html/*>
  Options +ExecCGI
  AddHandler cgi-script .py
</Directory>

which python給我的命令路徑: /home/myuser/anaconda2/bin/python

以下是我的Python文件的外觀。 Python腳本在Windows XAMPP Apache中運行良好。

#!/home/myuser/anaconda2/bin/python
print ("Content-Type: text/xml\n\n")
print ('\n')
print ('\n')
print ('hello')

我也遵循了這一步驟,但是對我沒有用。

如何解決此問題並能夠在網絡瀏覽器上運行python腳本?

該問題是由於Windows和Linux中的行尾差異所致。 該文件以CRLF結尾,應該更改為LF行結尾。 我的文本編輯器Pycharm可以在右下角或在“文件”菜單中對其進行更改,如下所示。 因此,將其更改為Unix和OS X行分隔符可以解決此問題。

在此處輸入圖片說明

有關Pycharm的更多信息,請單擊此鏈接

如果使用git,則在提交存儲庫時會自動修復該問題。

編輯:我最近發現,使python文件可執行是必需的。 即使我解決了行尾問題,也遇到了問題,通過選中文件權限中的復選框使文件可執行,從而解決了該問題。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM