当前位置:首页 > 焦点 > linux php环境搭建 正文

linux php环境搭建

来源:烟消火灭网   作者:焦点   时间:2026-10-17 05:51:35

linux php环境搭建

上个月帮朋友调试一台老服务器,环境系统是搭建CentOS 7,PHP版本还停在5.4。环境他坚持说“能跑就行”,搭建结果一个用`?环境?`空合并运算符的新代码直接白屏。那一刻我意识到,搭建环境搭建不只是环境敲几条命令的事——它决定了你后续能写什么代码、踩多少坑。搭建

我习惯用命令行直接装包,环境不用面板。搭建面板方便,环境但出了问题你根本不知道它改了什么配置文件。搭建以Ubuntu 22.04为例,环境先更新软件源:sudo apt update && sudo apt upgrade -y。搭建然后装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。这里我故意没装Apache或Nginx,先让PHP-FPM单独跑起来,测试用php -v看版本,再sudo systemctl start php8.1-fpm确认进程活着。

Web服务器我选Nginx,轻量且并发能力强。装好后重点在配置文件的写法。默认站点在/etc/nginx/sites-available/default,你需要修改server块里的location部分,让Nginx把PHP请求转发给FPM。关键代码长这样:

 location ~ \.php$ {  include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; } 

注意那行fastcgi_pass,路径必须和你实际安装的PHP版本一致。很多人卡在这里——sock文件不存在,或者权限不对,Nginx直接返回502。我自己就犯过这错,装完php8.1-fpm后忘了启动服务,排查了半小时。

测试环境时,在/var/www/html下建个phpinfo.php,写上<?php phpinfo(); ?>,浏览器访问IP地址。如果能看到彩色表格,说明PHP解析正常。看不到?先看Nginx错误日志/var/log/nginx/error.log,八成是sock路径写错,或者目录权限没给www-data用户。

数据库这块,装MariaDB比MySQL省心,兼容性没差别。装完跑sudo mysql_secure_installation设置root密码,然后创建应用专用账号。别用root连应用,这是底线。我见过太多生产事故是因为root密码泄露。

最后说下PHP配置调整。默认的upload_max_filesize只有2M,memory_limit是128M。改之前先想清楚需求——跑WordPress的话,建议upload改成64M,memory改成256M。编辑/etc/php/8.1/fpm/php.ini,改完重启FPM。不用改所有参数,按需来。

搭建过程中最容易被忽视的是时区设置。默认UTC时间,日志里全是差8小时的时间戳,排查问题时会疯。在php.ini里设date.timezone = Asia/Shanghai,顺便把Nginx的日志格式里加上$time_local变量。

这套环境从零到能跑通,熟练工大概15分钟。新手可能折腾一下午,但值得。因为下次遇到生产环境问题,你能直接进容器里改配置,而不是对着面板发呆。

标签:

责任编辑:探索