Apache HTTP Server 本身不直接连接数据库,但可以通过以下几种方式实现与数据库的交互:
<?php
// MySQL 连接示例
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>
import MySQLdb
def application(environ, start_response):
db = MySQLdb.connect(host="localhost", user="user", passwd="password", db="database")
cursor = db.cursor()
cursor.execute("SELECT VERSION()")
data = cursor.fetchone()
status = '200 OK'
response_headers = [('Content-type', 'text/plain')]
start_response(status, response_headers)
return ["MySQL version: %s" % data]
安装必要模块:
sudo apt-get install apache2 libaprutil1-dbd-mysql
配置 Apache (httpd.conf 或 apache2.conf):
LoadModule dbd_module modules/mod_dbd.so
LoadModule authn_dbd_module modules/mod_authn_dbd.so
<IfModule mod_dbd.c>
DBDriver mysql
DBDParams "host=localhost dbname=mydb user=myuser pass=mypass"
DBDMin 4
DBDKeep 8
DBDMax 20
DBDExptime 300
</IfModule>
配置 Apache 作为反向代理,将请求转发到实际处理数据库操作的应用服务器:
<VirtualHost *:80>
ServerName example.com
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>
mysql
, mysqli
, PDO
(PHP) / mysql-connector
(Python/Java)pg_connect
(PHP) / psycopg2
(Python)oci_connect
(PHP) / cx_Oracle
(Python)需要哪种具体数据库的连接方式或遇到什么问题,可以进一步详细说明。