当前位置:

首页 > 编程开发 > PHP在Linux中如何配置数据库连接

PHP在Linux中如何配置数据库连接

在Linux系统中配置PHP连接MySQL数据库,需依次安装PHP、MySQL扩展及服务器软件。启动数据库服务后创建专用库与用户,并配置PHP连接信息。若使用Nginx,需额外设置PHP-FPM并修改站点配置。最后通过测试脚本验证连接,并注意采用环境变量管理密码、遵循最小权限原则等安全措施。

在Linux环境下,让PHP和数据库“握手”成功,是很多Web应用部署的第一步。这事儿听起来有点技术门槛,但只要你跟着流程一步步来,其实并不复杂。今天,我们就来把PHP连接数据库(以MySQL为例)的配置过程,从头到尾捋一遍。

PHP在Linux中如何配置数据库连接

1. 安装必要的软件包

万事开头难,但第一步往往最简单:确保你的Linux系统里,PHP和数据库服务都已经就位。这里我们以常见的Ubuntu/Debian系统为例,使用apt包管理器。

安装PHP及MySQL扩展

首先,更新软件包列表,然后安装PHP核心以及连接MySQL所需的扩展模块:

sudo apt update
sudo apt install php php-mysql

安装MySQL服务器

接下来,把MySQL服务器也装上:

sudo apt update
sudo apt install mysql-server

2. 配置数据库

软件装好了,数据库服务得跑起来,并且我们得为PHP应用创建一个专属的“地盘”。

启动MySQL服务,并设置成开机自启:

sudo systemctl start mysql
sudo systemctl enable mysql

然后,登录MySQL,创建一个新的数据库和专门用来连接它的用户。这里的安全原则是:为每个应用使用独立的、权限受限的账户,而不是直接用root。

sudo mysql -u root -p

进入MySQL命令行后,执行以下命令(请将`mydatabase`、`myuser`、`mypassword`替换成你实际想用的名字和强密码):

CREATE DATABASE mydatabase;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

3. 配置PHP连接数据库

现在,数据库那边准备好了,该PHP上场了。我们需要在PHP代码里,告诉它如何找到并登录我们刚创建的数据库。

通常,我们会创建一个单独的配置文件,比如叫`config.php`,把连接信息放在里面:

connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>

4. 配置PHP-FPM(如果使用Nginx)

如果你用的是Nginx作为Web服务器(现在很多环境都这么选),还需要一个“翻译官”来处理PHP代码,这就是PHP-FPM。

首先安装它:

sudo apt install php-fpm

接着,需要修改Nginx的站点配置文件(通常是`/etc/nginx/sites-a vailable/default`),告诉Nginx如何把PHP请求转发给PHP-FPM处理。注意,配置里的PHP版本号(如php7.4-fpm)需要和你实际安装的版本保持一致。

server {
    listen 80;
    server_name example.com;
    root /var/www/html;

    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据你的PHP版本调整
    }

    location ~ /\.ht {
        deny all;
    }
}

配置改完后,别忘了重启Nginx和PHP-FPM服务,让改动生效:

sudo systemctl restart nginx
sudo systemctl restart php7.4-fpm

5. 测试连接

理论配置完成,是骡子是马得拉出来遛遛。我们来写一个简单的测试脚本。

创建一个`test.php`文件,放在Web目录(比如`/var/www/html/`)下。这个文件会包含之前的配置文件,并尝试执行一条简单的查询。

query($sql);

if ($result->num_rows > 0) {
    // 如果能循环输出数据,说明连接和查询都成功了
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - Name: " . $row["name"]. "
"; } } else { echo "0 results"; // 表为空也会显示这个,但连接是成功的 } $conn->close(); ?>

最后,打开浏览器,访问`http://你的服务器IP地址/test.php`。如果页面显示了数据库中的数据(或“0 results”但无错误信息),那么恭喜你,整个连接通道已经畅通无阻了。

6. 安全注意事项

配置成功只是开始,安全运营更为关键。最后简单提几个务必牢记的点:

  • 密码不能硬编码:像上面例子那样把密码直接写在`config.php`里并不安全。生产环境中,应使用环境变量或位于Web根目录之外的配置文件来管理敏感信息。
  • 最小权限原则:我们之前创建数据库用户时,只授予了特定数据库的所有权限。这比使用全局权限的账户要安全得多。
  • 保持更新:定期更新你的PHP、MySQL/MariaDB以及操作系统,及时修补已知的安全漏洞。

走完以上这几步,你的Linux服务器就已经为运行基于PHP和MySQL的Web应用打下了坚实的基础。接下来,就可以专注于你的应用开发了。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发 Linux
相关文章 更多
Linux如何开启端口号?开放端口命令详解
Linux如何开启端口号?开放端口命令详解

详细讲解Linux如何开启端口号以及常用的开放端口命令。

crossover卸载软件下载及重新安装教程
crossover卸载软件下载及重新安装教程

遇到CrossOver运行错误或需要更新版本时,如何彻底卸载旧版并干净重装?本教程详解macOS和Linux下的卸载步骤、残留文件清理方法及官方下载渠道,确保软件环境纯净稳定。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
Postman macOS版
Postman macOS版
Mac

Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。

Docker Desktop macOS版
Docker Desktop macOS版
Mac

Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。

Android Studio macOS版
Android Studio macOS版
Mac

Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。

WINDOWS 更多
PixPix 网页版
PixPix 网页版
Windows

PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。

Postman Windows版
Postman Windows版
Windows

Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等

Docker Desktop Windows版
Docker Desktop Windows版
Windows

Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。