XSERVERでPythonを動かす(テストソースプログラム)

XSERVERでPythonすぐに稼働します。

コマンドパスの一覧はこちら

CGIとして稼働します。

XSERVERでPythonを動かす簡単な実行方法

.htaccess に下記を記入して、CGIとかpyが稼働するようにします。

AddHandler cgi-script .py
を追加します。

CGIとかpyを動かすなら、下記の記載

Options +ExecCGI
AddType application/x-httpd-cgi .cgi .py

簡単なパイソンサンプル

XSERVERでPython稼働を簡単に確認するには、次のコードを「XXXX.py」として保存し「http・・・(アップロードアドレス)/XXXX.py」として、実行してみましょう

#!/usr/bin/python3.6

print('Content-Type:text/html')
print('')
print('Hello,World!')

対象のパーミッションを変更しておきます。
chmod 705 test.py

XSERVERでPythonのサンプルプログラム(2)

もう少し、実用?にちかいパイソンプログラムを稼働させてみるなら、下記のコードも実行可能です。

#! /usr/bin/python3.6 --
# -*- coding: utf-8 -*-
#文字化け対策 Python3の方で標準出力をエンコード。
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')


class Hero:
    name = 'ウルトラマン'
    hp = 100

    def sleep(self, hours):
        print(f'{self.name}は{hours}時間寝た')
        self.hp += hours
#######################################################
#
#  main
#
#######################################################
def main():

    print('Content-Type:text/html')
    print('')
    print('<!DOCTYPE html>')
    print('<html><head><meta charset="UTF-8"><title>Insert title here</title></head>')
    print('<body><h1>TEST Python</h1>')

    print('Hello,World!<br>')
    print('Hello,World!<br>')
    print(10 * 5)  #50
    print('<br>')
    age = 22
    print(age)
    print('<br>')

    # CLASSの実行を試してみる
    print('<br><hr><br>')
    print('スッキリファンタジーXII ~金色の理想郷~<br>')

    hero_a = Hero()
    hero_a.name = 'ウルトラの父'
    hero_a.sleep(3)

    print('<br><br><hr><br>')

    print('END-HTML</body></html>')

################################################
#
#  main実行
#
################################################
if __name__ == '__main__':
    main()

そもそもXSERVERでCGIを動かす準備が出来ているのか?

・・・を確認してみたいなら、下記のソースコードを XXXX.cgi というファイル名で実行してみてください。
下記が稼働しない場合は、.htaccessがうまく反映されていない可能性があります。

#! /usr/bin/perl --

$hpline = "Content-type:text/html\n\n";
push(@head,$hpline);
push(@head,<<"EOM");
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>TEST CGI</h1>
CHECK
</body>
</html>

EOM

print @head