在Ubuntu服务器上安装PHP并连接MySQL,可以按照以下步骤操作:
一、安装PHP和MySQL扩展
1. 更新系统包列表
sudo apt update
sudo apt upgrade -y
2. 安装PHP(以PHP 8.1为例)
# 添加PHP仓库(如果需要最新版本)
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
# 安装PHP及相关扩展
sudo apt install php8.1 php8.1-cli php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip
3. 安装MySQL服务器
# 安装MySQL服务器
sudo apt install mysql-server
# 安全配置MySQL
sudo mysql_secure_installation
二、配置PHP连接MySQL
1. 创建MySQL数据库和用户
# 登录MySQL
sudo mysql
# 在MySQL命令行中执行:
CREATE DATABASE mydatabase;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
2. 测试PHP连接MySQL
创建测试文件 /var/www/html/test.php:
<?php
$host = 'localhost';
$dbname = 'mydatabase';
$username = 'myuser';
$password = 'your_password';
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接MySQL成功!";
// 测试查询
$stmt = $pdo->query("SELECT VERSION()");
$version = $stmt->fetch();
echo "<br>MySQL版本: " . $version[0];
} catch(PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
?>
3. 使用mysqli扩展连接(备选方案)
<?php
$servername = "localhost";
$username = "myuser";
$password = "your_password";
$dbname = "mydatabase";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
$conn->close();
?>
三、配置Web服务器(可选)
对于Apache:
sudo apt install apache2 libapache2-mod-php8.1
sudo systemctl restart apache2
对于Nginx:
sudo apt install nginx
sudo systemctl restart nginx
四、安全配置建议
-
修改PHP配置文件:
sudo nano /etc/php/8.1/fpm/php.ini调整以下参数:
display_errors = Off log_errors = On upload_max_filesize = 2M post_max_size = 8M -
MySQL远程访问限制:
-- 只允许本地连接(默认) -- 如需远程连接,谨慎配置: CREATE USER 'myuser'@'%' IDENTIFIED BY 'strong_password'; GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'%';
五、验证安装
-
检查PHP版本:
php -v -
检查MySQL状态:
sudo systemctl status mysql -
检查PHP扩展:
php -m | grep mysql
常见问题解决
-
连接被拒绝:
- 检查MySQL用户权限
- 确认MySQL服务正在运行:
sudo systemctl status mysql
-
找不到PDO驱动:
- 安装PDO扩展:
sudo apt install php8.1-mysql
- 安装PDO扩展:
-
权限问题:
- 确保Web服务器用户有权限访问PHP文件
这样你就完成了在Ubuntu服务器上安装PHP并连接MySQL的完整流程。根据你的具体需求,可能还需要安装其他PHP扩展或进行额外的安全配置。
CLOUD技术笔记