温馨提示×

ubuntu php配置要注意什么

小樊
40
2026-08-24 14:08:13
栏目: 编程语言

在 Ubuntu 上配置 PHP,常见且容易踩坑的地方主要集中在 版本选择、PHP-FPM、网页服务器配合、权限、扩展、安全与调试。下面按“必须注意”和“常见坑”给你一个实用清单。


一、版本选择(非常重要)

Ubuntu 不同版本默认 PHP 不同:

Ubuntu 版本 默认 PHP
20.04 PHP 7.4
22.04 PHP 8.1
24.04 PHP 8.3

✅ 建议:

  • 新项目:用 Ubuntu 默认源里的 PHP(稳定)
  • 老项目:确认 PHP 版本兼容性,不要盲目升级到 8.x

如需多版本:

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

二、PHP 运行方式(FPM 才是主流)

强烈推荐:PHP-FPM + Nginx / Apache

1️⃣ 安装 PHP-FPM

sudo apt install php-fpm

查看版本:

php -v
php-fpm8.1 -v

2️⃣ 确认 FPM 正在运行

systemctl status php8.1-fpm

三、与 Web 服务器的配合(最容易出错)

✅ Nginx + PHP-FPM

关键点:sock 路径必须一致

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

常见错误:

  • sock 路径和 PHP 版本不一致
  • 忘了 fastcgi-php.conf
  • 没有 reload nginx

✅ Apache + PHP

两种模式:

  • mod_php(不推荐,性能差)
  • mpm_event + php-fpm(推荐)
sudo apt install libapache2-mod-fcgid
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.1-fpm

四、PHP 配置文件路径(别改错)

/etc/php/8.1/
├── cli/php.ini      # 命令行
├── fpm/php.ini      # Web 使用

Web 环境改的是 fpm/php.ini

sudo nano /etc/php/8.1/fpm/php.ini

改完必须重启:

sudo systemctl restart php8.1-fpm

五、必须调整的常见配置

upload_max_filesize = 50M
post_max_size = 50M
memory_limit = 256M
max_execution_time = 120
date.timezone = Asia/Shanghai

⚠️ 改完一定要重启 FPM,否则不生效。


六、权限和属主(非常容易踩坑)

1️⃣ PHP-FPM 运行用户

ps aux | grep php-fpm

通常是:

  • www-data

2️⃣ 网站目录权限

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html

❌ 常见错误:

  • 用 root 跑网站
  • 目录 777(不安全)

七、PHP 扩展安装

sudo apt install php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip

查看已安装扩展:

php -m

八、调试与日志(出问题先看这里)

PHP 错误日志

log_errors = On
error_log = /var/log/php_errors.log

Nginx 错误日志

/var/log/nginx/error.log

PHP-FPM 日志

/var/log/php8.1-fpm.log

九、安全注意事项(生产环境必看)

✅ 推荐配置:

expose_php = Off
display_errors = Off
allow_url_include = Off
disable_functions = exec,passthru,shell_exec,system

十、验证 PHP 是否正常工作

echo "<?php phpinfo(); ?>" > /var/www/html/info.php

浏览器访问:

http://服务器IP/info.php

⚠️ 测试完立刻删除!


总结一句话

Ubuntu 配 PHP,核心就是:版本对、FPM 正常、sock 对、权限对、改的是 fpm/php.ini、改完重启。

如果你愿意,我可以:

  • ✅ 给你一份 Nginx + PHP 完整配置模板
  • ✅ 帮你排查 502 / 404 / 空白页
  • ✅ 针对 Laravel / ThinkPHP / WordPress 单独说明

直接告诉我你用的 Ubuntu 版本 + Web 服务器 + PHP 版本 即可。

0