Ubuntu PHP配置与数据库连接
导读:Ubuntu 下 PHP 与 MySQL 数据库连接实操指南 一 环境准备与安装 更新索引并安装所需组件(以 Apache + PHP + MySQL 为例,如使用 Nginx 则将 apache2 替换为 nginx): 安装命令:...
Ubuntu 下 PHP 与 MySQL 数据库连接实操指南
一 环境准备与安装
- 更新索引并安装所需组件(以 Apache + PHP + MySQL 为例,如使用 Nginx 则将 apache2 替换为 nginx):
- 安装命令:
- sudo apt update
- sudo apt install apache2 php php-mysql mysql-server
- 安装命令:
- 启动并启用数据库服务:
- sudo systemctl start mysql
- sudo systemctl enable mysql
- 运行安全初始化向导,设置 root 密码及安全项:
- sudo mysql_secure_installation
- 验证服务状态:
- sudo systemctl status mysql 以上步骤完成后,系统具备 PHP 与 MySQL 的基础运行环境。
二 数据库与用户创建
- 登录数据库:
- sudo mysql -u root -p
- 在 MySQL Shell 中执行(请替换示例中的数据库名、用户名与密码):
- CREATE DATABASE mydatabase;
- CREATE USER ‘myuser’@‘localhost’ IDENTIFIED BY ‘mypassword’;
- GRANT ALL PRIVILEGES ON mydatabase.* TO ‘myuser’@‘localhost’;
- FLUSH PRIVILEGES;
- EXIT; 上述操作为应用创建最小权限的专用账户与数据库,提升安全性。
三 PHP 连接 MySQL 的两种常用方式
- 使用 PDO(推荐,支持预处理、可移植性更好):
- 示例代码(config.php):
- 示例代码(config.php):
- 使用 mysqli(面向对象):
- 示例代码(connect.php):
- 示例代码(connect.php):
- 将文件放入 /var/www/html/,通过浏览器访问:
- http://your_server_ip/connect.php 或 http://your_server_ip/config.php 若页面输出“Connected successfully”,说明 PHP 与数据库连通正常。
四 Web 服务器与 PHP-FPM 配置要点
- 使用 Nginx + PHP-FPM 时,确保站点配置中 fastcgi_pass 指向正确的 PHP-FPM socket,示例:
- location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 请按实际 PHP 版本调整 }
- 修改后重启服务:
- sudo systemctl restart nginx
- 如使用 Apache,确保启用 PHP 模块或正确代理到 PHP-FPM。 以上配置确保 Web 服务器能正确解析并执行 PHP 脚本。
五 常见问题排查与安全建议
- 排查要点
- 确认 PHP 已安装并启用 MySQL 扩展:sudo apt install php-mysql;必要时重启 Apache/Nginx 或 PHP-FPM。
- 检查数据库服务是否运行:sudo systemctl status mysql;无法登录时,用 sudo mysql -u root -p 验证凭据与权限。
- 远程连接失败:确保数据库监听正确地址、系统防火墙放行端口(如 3306),并为应用创建允许远程的来源主机用户(例如 ‘myuser’@‘your_web_ip’)。
- 安全建议
- 不在代码中硬编码数据库凭据,使用环境变量或受保护的配置文件,并限制文件权限。
- 为应用创建最小权限数据库用户,避免使用 root。
- 始终使用预处理语句(PDO/mysqli)防止 SQL 注入。
- 保持 PHP、MySQL、操作系统 与安全组件更新,及时修补漏洞。 以上做法可显著提升连接成功率与系统安全性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu PHP配置与数据库连接
本文地址: https://pptw.com/jishu/755805.html
