プロが教えるわが家の防犯対策術!

pythonスクリプトをCGIとして動作させるとエラーになります。
環境は、
OS : CentOS 6.4
Python : 2.6.6

pythonソースは、
#!/usr/bin/python
# coding: utf-8

print "Content-type: text/html; charset=UTF-8"
print
print

ブラウザーから、このCGIを直接起動すると、/var/log/httpd/error_logに下記のエラーが出ます。
[Fri Oct 18 12:45:28 2013] [error] [client 10.1.34.89] (8)Exec format error: exec of '/home/httpd/cgi-bin/test.py' failed

Exec format errorとは、何でしょうか?
perl CGIは、正常に動作しているのですが。
アドバイスよろしくお願いします。

A 回答 (2件)

そのログからすると, スクリプトのファイル名は /home/httpd/cgi-bin/test.py でいいのかな?



od -xc /home/httpd/cgi-bin/test.py
ってできますか?

この回答への補足

こんな感じです。
nsbbsv1[105]% od -xc test.py
0000000 bbef 23bf 2f21 7375 2f72 6962 2f6e 7970
357 273 277 # ! / u s r / b i n / p y
0000020 6874 6e6f 230a 6320 646f 6e69 3a67 7520
t h o n \n # c o d i n g : u
0000040 6674 382d 0a0a 7270 6e69 2074 4322 6e6f
t f - 8 \n \n p r i n t " C o n
0000060 6574 746e 742d 7079 3a65 7420 7865 2f74
t e n t - t y p e : t e x t /
0000100 7468 6c6d 203b 6863 7261 6573 3d74 5455
h t m l ; c h a r s e t = U T
0000120 2d46 2238 700a 6972 746e 700a 6972 746e
F - 8 " \n p r i n t \n p r i n t
0000140 000a
\n
0000141
nsbbsv1[106]%

補足日時:2013/10/24 11:10
    • good
    • 0
この回答へのお礼

BOM付きUTF-8になっていました。viで消したつもりだったのですが、元の形式を保持するのですね。ご指摘ありがとうございました。

お礼日時:2013/10/24 11:21

https://www.google.co.jp/search?q=Exec+format+er …
改行コードと文字コードとpyithonのパスは確認しました?

この回答への補足

改行コードは、LFで間違い有りません。
文字コードは、漢字が入っていないので、ASCIIと同じです。
パスは、/usr/bin/pythonで間違い有りません。
RHEL5のpyhton 2.4.4では、正常に動作するので、
CeonOS 6.4固有の問題かもしれないです。

補足日時:2013/10/18 15:33
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!