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

PHP-FPM、MariaDB与Symfony表单查询构建器的503异常排查请求

诡异的Symfony生产环境数据库通信异常排查求助

无法精准归类当前问题,表现过于诡异,完全无法确定根源。和另一位开发者排查数小时毫无进展,不确定问题出在数据库还是PHP(显然二者通信时出现异常),希望有类似经验的人提供排查方向。问题更偏向基础设施层面而非代码问题,但暂无法确定。


系统环境

  • CentOS 7 VPS
  • PHP-FPM 8.1
  • Symfony 6.0.11
  • MariaDB 10.2.38

关键信息:Symfony处于dev环境时一切正常,仅切换至prod环境时出现问题。


问题代码

问题出在Symfony的FormType中(请求生命周期内其他代码无关,移除以下代码后问题完全消失,PHP与MariaDB的其他查询通信正常):

$builder
->add('type', EntityType::class, [
    'class' => Property::class,
    'choice_label' => 'name',
    'query_builder' => function (EntityRepository $er) {
        return $er->createQueryBuilder('p')
            ->orderBy('p.name', 'ASC');
    }
])

错误日志信息

浏览器输出

503 Service Unavailable
服务器暂时无法处理请求,请稍后重试。

Apache服务器日志

AH01067: Failed to read FastCGI header
(104)Connection reset by peer: [client REDACTED-IP:53320] AH01075: Error dispatching request to :

PHP日志

WARNING: [pool admin] child 1770 exited on signal 11 (SIGSEGV) after 1.360270 seconds from start

MariaDB日志

[Warning] Aborted connection 2787505 to db: 'REDACTED' user: 'REDACTED' host: 'localhost' (Got an error reading communication packets)


已尝试的排查操作

  • 重启整个VPS
  • 手动删除Symfony缓存:rm -r var/cache
  • 禁用OPcache(曾怀疑与此相关)

最诡异的现象

  • 移除整个orderBy子句后,功能恢复正常;
  • 将orderBy('p.name', 'ASC')改为orderBy('p.name', 'DESC')也能正常运行;
  • 将p.name替换为其他有效属性但仍使用ASC排序时,问题依旧;此时若改为DESC排序则恢复正常!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:54:22