You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP CLI命令执行异常缓慢,求故障排查方法及相关日志位置

首先从你提供的命令执行耗时数据可以判断核心问题特征:PHP进程用户态、内核态执行总耗时不足0.02s,绝大多数耗时处于阻塞等待状态,问题出在进程启动阶段的外部资源调用等待超时。

故障排查步骤

  • 优先排查内置扩展问题
    即使添加-n参数不加载自定义配置,PHP编译时内置的扩展仍会自动加载,执行php -n -m查看所有内置扩展,重点排查需要发起网络请求的扩展(如redis、memcached、mysqlnd、curl、openssl等),优先禁用非必要内置扩展复测速度。
  • 检查域名解析与主机配置
    多数启动阻塞都和网络请求超时有关,先检查/etc/hosts文件是否存在127.0.0.1 localhost、::1 localhost绑定规则,同时确认本机hostname已绑定至本地IP,临时修改/etc/resolv.conf将DNS改为公共DNS(如114.114.114.114)复测。
  • 使用strace追踪系统调用定位卡点卡
    执行strace -tt php -n -v打印进程启动全流程的系统调用及对应时间戳,直接查看耗时最长的系统调用即可定位阻塞源,常见阻塞场景为网络连接超时、远程文件读取失败、权限校验等待。
  • 排查安全模块限制
    若为RHEL/CentOS系列系统,临时执行setenforce 0关闭SELinux复测;若为Debian/Ubuntu系列系统,检查AppArmor规则是否限制了PHP进程的资源访问权限。
  • 检查配置与依赖文件存储位置
    执行php --ini查看PHP所有配置文件的扫描路径,确认路径不存在挂载于不可用远程存储(NFS、SMB等)的情况,同时检查PHP依赖的共享库文件是否存在损坏或存储介质故障。

可用日志位置

  • PHP错误日志:路径为php.ini中error_log配置项的值,未配置时CLI模式日志默认输出至标准错误流
  • 系统日志:/var/log/messages(RHEL/CentOS)或/var/log/syslog(Debian/Ubuntu),可查看进程相关的系统级报错
  • 审计日志:若开启auditd服务,可从/var/log/audit/audit.log中查看是否有系统对PHP进程的拦截记录

内容的提问来源于stack exchange,提问作者Mirko Druzijanic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 11:45:04