温馨提示×

ubuntu php配置要注意啥

小樊
39
2026-10-07 07:55:01
栏目: 编程语言

在 Ubuntu 上配置 PHP(通常是搭配 Nginx 或 Apache)时,有几个常见但容易踩坑的点。下面按“安装 → 配置 → 优化 → 排错”给你梳理一下。


一、安装相关注意点

1. 选对 PHP 版本

Ubuntu 自带版本可能较旧:

php -v

建议用 ppa:ondrej/php(社区维护,版本新):

sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2 php8.2-fpm

⚠️ 注意:

  • Web 服务器用 php-fpm,不是 mod_php(Apache 除外)
  • 不同版本可共存,但要明确用哪个

二、PHP-FPM 配置(重点)

2. 确认 FPM 在运行

systemctl status php8.2-fpm

Nginx 配置里要对应:

fastcgi_pass unix:/run/php/php8.2-fpm.sock;

❌ 常见错误:

  • sock 文件路径写错
  • FPM 没启动但 Nginx 已启动

3. FPM 进程池配置

文件:/etc/php/8.2/fpm/pool.d/www.conf

关键参数:

pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20

⚠️ 内存估算:

max_children × 单进程内存 ≈ 总内存

三、php.ini 常见配置

路径:

/etc/php/8.2/fpm/php.ini

4. 上传 & 执行时间

upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
memory_limit = 256M

改完必须重启:

sudo systemctl restart php8.2-fpm

5. 时区必须设

date.timezone = Asia/Shanghai

否则日志和时间会错乱。


四、安全相关(很重要)

6. 关闭危险函数(视情况)

disable_functions = exec,passthru,shell_exec,system

⚠️ 某些框架(如 composer)可能需要这些函数


7. 关闭暴露版本

expose_php = Off

五、和 Web 服务器配合

Nginx 常见坑

  • 没加 index.php
  • try_files 配置错误(容易 404 / 下载 php 文件)

示例:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

Apache

如果用 Apache:

sudo apt install libapache2-mod-php8.2
sudo a2enmod php8.2

六、排错技巧

8. 看错误日志

tail -f /var/log/php8.2-fpm.log
tail -f /var/log/nginx/error.log

9. phpinfo 测试

<?php phpinfo(); ?>

七、总结一句话版

Ubuntu 配 PHP,核心就是 PHP-FPM + 正确 sock + php.ini + Web 服务匹配,别让 PHP 文件被下载,也别让 FPM 没起来。

如果你用的是 Ubuntu 版本 + Nginx/Apache + PHP 版本,我可以给你一套直接能用的配置模板。

0 踩