作为模块开发者,我最烦的就是那种“一键安装包”——看似省事,实则把底层细节全藏起来,出了问题连日志都看不懂。所以今天咱们直接上手,从零在Linux上搭建PHP环境并配好数据库,每一步都讲清楚为什么这么做。
环境基于Ubuntu 22.04 LTS,其他发行版命令略有不同但逻辑一致。先更新系统:sudo apt update && sudo apt upgrade -y。然后安装Nginx(或者Apache,我习惯用Nginx处理高并发):sudo apt install nginx -y,启动并设置开机自启:sudo systemctl enable –now nginx。
接下来是PHP。注意版本选择,我推荐8.1或8.2,性能和安全都有保证。添加Ondřej Surý的PPA(第三方源,但稳定可靠):sudo add-apt-repository ppa:ondrej/php -y && sudo apt update。安装PHP及常用扩展:sudo apt install php8.2-fpm php8.2-mysql php8.2-mbstring php8.2-xml php8.2-curl php8.2-gd -y。安装完成后启动PHP-FPM:sudo systemctl enable –now php8.2-fpm。
配置Nginx与PHP-FPM通信。修改站点配置文件(比如/etc/nginx/sites-available/default),在server块里添加:location ~ \\.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.2-fpm.sock; }。记得重启Nginx:sudo systemctl restart nginx。写一个/var/www/html/info.php文件,内容<?php phpinfo();,浏览器访问能看到PHP版本和模块信息就对了。
数据库配置。我用MariaDB(MySQL的兼容替代,社区维护更活跃):sudo apt install mariadb-server mariadb-client -y。安全初始化:sudo mysql_secure_installation,按提示设置root密码、移除匿名用户、禁止远程root登录。接着创建业务数据库和用户:
sudo mysql -u root -p,进入后执行:
CREATE DATABASE myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER ‘appuser’@’localhost’ IDENTIFIED BY ‘StrongPassword123’;
GRANT ALL PRIVILEGES ON myapp. TO ‘appuser’@’localhost’;
FLUSH PRIVILEGES;
EXIT;
注意密码复杂度,生产环境别用弱口令。
最后验证PHP与数据库的连接。写一个test_db.php:
<?php
$host = ‘localhost’;
$user = ‘appuser’;
$pass = ‘StrongPassword123’;
$dbname = ‘myapp’;
$conn = new mysqli($host, $user, $pass, $dbname);
if ($conn->connect_error) {
die(\”连接失败: \” . $conn->connect_error);
}
echo \”数据库连接成功!\”;
$conn->close();

AI生成内容,仅供参考
?>
浏览器访问该文件,看到“连接成功”就说明整套环境落地了。这时候你就可以把项目的模块代码丢进来,开始真正的开发调试。记住:每个组件都手动配置,出了异常你才知道去查nginx日志还是php-fpm日志——这才是模块开发者该有的掌控感。
“,”reasoning_content”:”我们要求以模块开发者的口吻写一篇关于Linux下PHP环境搭建与数据库配置实战的文章。标题已经给定:\”模块开发者:Linux PHP环境搭建与数据库配置实战\”。输出要求:正文,每段用
标签包裹,不要用首先其次•不超过650字。
文章内容:从模块开发者角度,讲述如何搭建Linux下的PHP环境并配置数据库。可以包括环境准备、安装PHP、安装MySQL/MariaDB、配置连接、测试等。语言要实战、技术细节。注意:不要用首先其次•分段自然。
字数控制:650字以内。