在 CentOS 上遇到 PHP 配置/启动慢、修改配置不生效或加载慢 的问题,通常可以从以下几个方面排查和优化。下面按「常见原因 → 解决办法」来说明。
如果你用的是 PHP-FPM(nginx + php-fpm):
pm 模式配置不合理extension_dir 路径慢(如 NFS)PHP 在某些场景下会做 反向 DNS 解析(如 php-fpm 日志、mail())
php --ini
或
php-fpm -i | grep "Loaded Configuration File"
⚠️ 命令行 PHP 和 PHP-FPM 可能不是同一个
systemctl restart php-fpm
查看状态:
systemctl status php-fpm
time php -v
如果超过 1 秒,说明 PHP 本身启动慢。
编辑:
vim /etc/php-fpm.d/www.conf
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
如果是 高并发:
pm = static
pm.max_children = 100
clear_env = no
; 禁用访问日志中的主机名解析
access.log = /var/log/php-fpm/access.log
如果不需要访问日志:
access.log = /dev/null
php -m
注释掉不用的:
;extension=xxx.so
disable_functions = exec,passthru,shell_exec,system
realpath_cache_size = 4096K
realpath_cache_ttl = 600
php -v 慢编辑 /etc/resolv.conf:
nameserver 127.0.0.1
或
options ndots:0
如果是 Composer 慢:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
如果是 Laravel / ThinkPHP:
yum install php-opcache
php.ini:
opcache.enable=1
opcache.memory_consumption=128
opcache.revalidate_freq=60
你可以告诉我:
我可以直接给你 一份可复制的优化配置。