動的に生成されたWebページと共同レポートを提供するためにデータベースをPythonスクリプトに接続する方法を理解することは役に立ちます。 Pythonはほとんどの場合Linuxディストリビューションに含まれており、すでに複数のアプリケーションで使用されています。これにはPHPは必要ありません。
以下では、LinuxターミナルでPythonデータベース接続(MySQL / MariaDB)を作成する方法について説明します。
- SSHにログインします。
- Webサイトのルートディレクトリから、「cgi-bin」ディレクトリにPythonスクリプトファイルを作成します。
touch cgi-bin/test-db.py
- ファイルの権限を755に変更します:
chmod 755 cgi-bin/test-db.py
- WebブラウザでPythonスクリプトを実行する場合は、Apache.htaccessファイルを編集します。
nano .htaccess
- ファイルの先頭に以下を追加し、変更を保存します:
AddHandler cgi-script .py
- Pythonデータベース接続を完了するには、データベースホスト(同じシステム上にある場合は「localhost」)、名前、ユーザー名、およびユーザーパスワードを知っている必要があります。
- Pythonを実行する:
python
- MySQL Pythonモジュールがインストールされていることを確認します:
import MySQLdb
通知が届かない場合は、インストールされていることを意味します。 「ImportError:No module named mysqldb。」というエラーが表示された場合は、モジュールをインストールする必要があります。 - Pythonを終了:
exit ()
- インストールする必要がある場合は、OSリポジトリを使用することをお勧めします。 PIPを使用することもできます。
Alma / Enterprise Linux:sudo yum install MySQL-python
Ubuntu:sudo apt-get install python-pip python-dev libmysqlclient-dev
PIP:pip install MySQL-python
- Pythonスクリプトを編集します:
nano cgi-bin/test-db.py
- 以下のコードを挿入してデータベースに接続し、「SELECT VERSION()」を実行します。これにより、MySQLの現在のバージョンが表示されます。データベースのユーザー、パスワード、およびデータベースを置き換えます。
#!/usr/bin/env python
import MySQLdb
# connect to the database
db = MySQLdb.connect("localhost","user","password","database" )
# setup a cursor object using cursor() method
cursor = db.cursor()
# run an sql question
cursor.execute("SELECT VERSION()")
# grab one result
data = cursor.fetchone()
# begin printing data to the screen
print "Content-Type: text/html"
print
print """
<!DOCTYPE html>
<html>
<head>
<title>Python - Hello World</title>
</head>
<body>
"""
print "Database version : %s " % data
print"""
</body>
</html>
"""
# close the mysql database connection
db.close() - 変更を保存します。
- Pythonスクリプトを実行します:
python test-db.py
結果には、基本的なHTMLマークアップと現在のデータベースバージョンが表示されます。
Webサーバー構成ファイルを更新した場合は、WebブラウザーでPythonスクリプトのURLにアクセスすることもできます。データベースのバージョン行が表示されます。
データベースをPython2.7以降に接続する方法を学習しておめでとうございます。 Pythonを使用したプログラミングの詳細をご覧ください。
cPanelが必要ない場合は、料金を支払わないでください。クラウドVPSソリューションで必要なものだけを支払います。
CentOS、Debian、またはUbuntuブロートウェアのSSHキー管理は簡単ではありません