在Ubuntu系统中,PHP与MySQL的高效配合可以通过以下几个步骤来实现:
sudo apt update
sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql
/etc/apache2/sites-available/000-default.conf,确保以下配置存在并取消注释(删除行首的#):Listen 80
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
然后重启Apache服务:
sudo systemctl restart apache2
/etc/mysql/mysql.conf.d/mysqld.cnf,进行一些性能优化。例如,可以调整缓冲区大小、连接数等参数。这里是一个简单的示例:[mysqld]
innodb_buffer_pool_size = 128M
max_connections = 100
然后重启MySQL服务:
sudo systemctl restart mysql
mysqli或PDO扩展来连接MySQL数据库。例如,使用mysqli的一个简单示例:<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 执行SQL查询
$sql = "SELECT id, name FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 结果";
}
$conn->close();
?>
mysqli预处理语句的一个示例:<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 准备预处理语句
$stmt = $conn->prepare("SELECT id, name FROM users WHERE age > ?");
$stmt->bind_param("i", $age);
// 设置参数值并执行
$age = 18;
$stmt->execute();
// 获取结果
$result = $stmt->get_result();
if ($result->num_rows > 0) {
// 输出数据
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 结果";
}
// 关闭预处理语句和连接
$stmt->close();
$conn->close();
?>
通过以上步骤,你可以在Ubuntu系统中实现PHP与MySQL的高效配合。当然,还有更多的优化方法,具体取决于你的应用需求和系统资源。