温馨提示×

ubuntu php配置卡顿为何

小樊
48
2026-10-13 05:07:50
栏目: 编程语言

在 Ubuntu 上 PHP 配置或运行“卡顿”,通常不是单一原因,而是以下几类问题之一。下面按最常见 → 较少见给你一个排查清单。


一、最常见原因(90% 情况)

1. PHP 与 Web 服务器配置不匹配

常见于:

  • Apache + php-fpm
  • Nginx + php-fpm

典型表现

  • 首页打开慢
  • 偶发性卡死
  • 重启 php-fpm 后恢复

检查点

systemctl status php*-fpm

查看是否 active (running)

关键配置(php-fpm)

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

如果 max_children 太小,请求会排队 → 卡顿。


2. DNS 解析卡顿(非常常见)

PHP 默认会做 反向 DNS 解析

典型现象

  • php -v 都慢
  • CLI 模式也卡
  • 网页随机慢

解决办法 在 php.ini 中:

realpath_cache_size = 4096K

并确保:

; 关闭不必要的解析
disable_functions = ...

或者在 /etc/hosts 加上:

127.0.0.1   localhost your-hostname

3. OPcache 没开或配置错误

PHP 7+ 强烈建议开启 OPcache

检查

php -m | grep opcache

推荐配置

opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60

没开 OPcache → 每次都重新编译 PHP → 明显卡。


二、磁盘 / IO 问题

4. 磁盘 IO 慢(HDD / 云盘限速)

PHP 项目(Laravel / ThinkPHP)文件极多

检查

iostat -x 1

优化

  • 使用 SSD
  • 开启 OPcache
  • realpath_cache(见上)

5. 项目路径在 NFS / 网络盘

非常非常慢

  • /home 在 NFS
  • Docker volume 挂载慢

建议

  • 放本地磁盘
  • Docker 用 :cached

三、PHP 本身问题

6. xdebug 开启(开发机常见)

zend_extension=xdebug

只要有请求就慢 3–10 倍

解决

xdebug.mode=off

或只 CLI 开。


7. PHP 版本 bug / 扩展冲突

  • PHP 8.1 / 8.2 某些扩展不兼容
  • 老项目 + 新 PHP

排查

php -i | less

四、系统级原因

8. 内存不足 → swap

free -h

如果频繁使用 swap → 卡死


9. 防火墙 / SELinux / AppArmor

Ubuntu 默认 AppArmor
某些 PHP 行为被限制 → 超时


五、快速自检清单(建议你照做)

# 1. PHP 是否慢
time php -v

# 2. fpm 状态
systemctl status php*-fpm

# 3. 是否有 xdebug
php -i | grep xdebug

# 4. opcache 是否开
php -i | grep opcache.enable

如果你愿意,我可以直接帮你定位

你可以贴出:

  1. Ubuntu 版本
  2. PHP 版本
  3. Web 服务(Nginx / Apache)
  4. 卡顿场景(CLI / 网页 / 安装软件)

我可以直接给你一份精确配置方案。

0 踩