温馨提示×

为什么ubuntu php配置慢

小樊
46
2026-09-16 14:41:09
栏目: 编程语言

在 Ubuntu 上感觉 PHP 配置/启动/运行慢,通常不是 PHP 本身慢,而是环境、配置或资源加载方式的问题。下面按常见原因给你梳理一下,并给出对应解决办法。


一、最常见原因

1. PHP-FPM 没用上(用了 CGI / mod_php)

如果你是用 Apache + mod_php 或 php-cgi,每次请求都要重新初始化 PHP,会明显慢。

✅ 建议:

  • Nginx → 用 php-fpm
  • Apache → 用 proxy_fcgi + php-fpm

检查:

ps aux | grep php-fpm

2. DNS 解析导致 PHP 启动慢

PHP 默认会解析 hostname,如果 /etc/hosts 没配置,会卡住几秒。

✅ 解决:

hostname
sudo nano /etc/hosts

确保有:

127.0.0.1   localhost your-hostname

3. PHP 配置加载太多扩展

/etc/php/*/cli/php.ini 或 fpm/php.ini 里加载了大量不用的扩展。

✅ 优化:

php -m

禁用不用的:

sudo phpdismod xdebug

⚠️ Xdebug 非常影响性能


4. OPcache 没开(重点)

没开 OPcache,PHP 每次都重新编译脚本。

✅ 开启:

sudo phpenmod opcache

php.ini 中:

opcache.enable=1
opcache.memory_consumption=128
opcache.revalidate_freq=60

5. php.ini 中 realpath_cache 太小

大项目(Laravel / Symfony)会明显慢。

✅ 调整:

realpath_cache_size=4096K
realpath_cache_ttl=600

二、Ubuntu 特有原因

6. systemd 启动 PHP-FPM 慢

某些云服务器 DNS / IPv6 导致 php-fpm 启动卡顿。

✅ 临时测试:

sudo systemctl stop php8.1-fpm
sudo php-fpm8.1 -F

7. 磁盘 IO 差(云服务器常见)

  • 低配云盘
  • 项目在 NFS / 网络盘

✅ 建议:

  • 项目放本地 SSD
  • 用 tmpfs 放缓存

三、排查方法(很重要)

看 PHP 启动耗时

time php -r 'echo 1;'

看加载了哪些文件

php -i | grep "Loaded Configuration"
strace -f php test.php

四、快速自检清单 ✅

  • [ ] 使用 php-fpm
  • [ ] 开启 OPcache
  • [ ] 禁用 Xdebug
  • [ ] /etc/hosts 正确
  • [ ] 扩展不过载
  • [ ] 项目在本地磁盘

如果你愿意,可以告诉我:

  • Ubuntu 版本
  • PHP 版本
  • Web 服务器(Nginx / Apache)
  • 是「启动慢」还是「请求慢」

我可以直接帮你定位到具体配置。

0 踩