温馨提示×

ubuntu php配置慢咋解决

小樊
39
2026-10-07 08:02:04
栏目: 编程语言

在 Ubuntu 上 PHP 运行/响应慢,一般不是 PHP 本身的问题,而是环境配置、扩展、资源或代码导致的。下面按「最常见 → 进阶」给你一套排查和解决思路。


一、先确认“慢”在哪里(很重要)

先判断是:

  • 页面打开慢(浏览器)
  • 命令行 PHP 慢(php script.php)
  • 接口/API 慢
  • 首次访问慢,后面快(疑似 OPcache)

可用:

time php test.php

或:

curl -w "%{time_total}\n" http://localhost/test.php

二、90% 情况:没开 OPcache(最常见)

1️⃣ 安装 OPcache

sudo apt install php-opcache

2️⃣ 启用并优化配置

编辑:

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

加入/修改:

opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.validate_timestamps=0   ; 生产环境建议关

重启:

sudo systemctl restart php8.1-fpm

✅ 这一步通常能提速 3~10 倍


三、PHP-FPM 配置不合理(Web 慢)

如果你用的是 Nginx + PHP-FPM:

1️⃣ 查看进程池

sudo nano /etc/php/8.1/fpm/pool.d/www.conf

2️⃣ 调整进程数(关键)

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

小内存服务器(1G):

pm.max_children = 20

重启:

sudo systemctl restart php8.1-fpm

四、禁用不必要的扩展(提速明显)

查看已加载扩展:

php -m

常见“拖慢”的:

  • xdebug(生产环境必须关)
  • ioncube(非必要)

关闭 xdebug:

sudo phpdismod xdebug
sudo systemctl restart php8.1-fpm

五、文件/磁盘 IO 慢(Ubuntu 特有)

1️⃣ 不要用 /home 或加密目录

PHP 项目放:

/var/www/html

2️⃣ 禁用真实路径缓存问题

realpath_cache_size=4096K
realpath_cache_ttl=600

六、数据库慢导致 PHP 慢(很常见)

PHP 本身快,但 SQL 慢:

  • 加索引
  • 减少 SELECT *
  • 用慢查询日志
SHOW PROCESSLIST;

七、系统资源不足

htop
free -h

如果是:

  • 内存爆了 → 加 swap
  • CPU 100% → 代码死循环 / 正则灾难

加 swap:

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

八、推荐“生产级”PHP 配置组合

✅ OPcache
✅ PHP-FPM
✅ 关 xdebug
✅ 用 Nginx
✅ Redis 缓存


九、如果你愿意,我可以更精准帮你

你可以告诉我:

  1. Ubuntu 版本
  2. PHP 版本
  3. Web 服务(Nginx / Apache)
  4. 是网站慢还是命令慢
  5. 是否用了框架(Laravel / ThinkPHP)

我可以直接给你一份可复制的优化配置。

0 踩