在Linux系统中,PHP-FPM(FastCGI Process Manager)与MySQL数据库的连接通常通过PHP的MySQL扩展来实现。以下是连接PHP-FPM与MySQL的基本步骤:
安装PHP和MySQL扩展: 确保你的Linux系统上已经安装了PHP和MySQL扩展。你可以使用包管理器来安装它们。例如,在基于Debian的系统上,你可以使用以下命令:
sudo apt-get update
sudo apt-get install php-fpm php-mysql
在基于Red Hat的系统上,你可以使用:
sudo yum install php-fpm php-mysqlnd
配置PHP-FPM:
确保PHP-FPM配置正确,并且监听一个Unix套接字或TCP/IP端口。你可以在/etc/php/版本号/fpm/pool.d/www.conf文件中找到相关配置。例如,如果你想让PHP-FPM监听Unix套接字,确保以下配置存在:
listen = /run/php/php7.4-fpm.sock
如果你想让PHP-FPM监听TCP/IP端口,配置可能如下:
listen = 127.0.0.1:9000
修改配置后,重启PHP-FPM服务:
sudo systemctl restart php7.4-fpm
配置Web服务器: 如果你使用的是Nginx或Apache作为Web服务器,确保它们正确地配置为使用PHP-FPM处理PHP文件。
对于Nginx,你需要在/etc/nginx/sites-available/你的网站配置文件中添加以下配置:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 或者使用TCP/IP端口
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
对于Apache,确保启用了proxy_fcgi模块,并在虚拟主机配置中添加以下配置:
<FilesMatch \.php$>
SetHandler "proxy:fcgi://localhost:9000"
</FilesMatch>
编写PHP脚本连接MySQL:
在你的PHP脚本中,你可以使用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);
}
echo "连接成功";
或者使用PDO扩展:
<?php
$servername = "localhost";
$username = "your_username";
$password = "your_password";
$dbname = "your_database";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 设置 PDO 错误模式为异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接成功";
} catch(PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
测试连接: 将你的PHP脚本上传到Web服务器,并通过浏览器访问它。如果一切配置正确,你应该能够看到“连接成功”的消息。
确保你的MySQL服务器正在运行,并且PHP脚本中的数据库连接信息(如用户名、密码、数据库名)是正确的。此外,根据你的具体需求,可能需要调整防火墙设置以允许Web服务器与MySQL服务器之间的通信。