PHP事务脚本功能正常却抛出500错误无日志,求排查
PHP事务脚本功能正常却抛出500 Internal Server Error且无错误日志
功能与场景
我开发了一个基于PHP事务的线索分配轮询脚本,负责以下操作:
- 批量更新多张数据表
- 插入新的线索记录
- 将表单提交的数据通过邮件转发给指定对象
异常情况
脚本的所有核心功能都能正常执行:数据表更新完成、线索记录成功插入、邮件也正常发送,但执行过程中会抛出500 Internal Server Error。
已做的排查操作
- 在
php.ini中开启了全量错误报告(具体配置见下方) - 同站点下的其他PHP脚本出现错误时,能正常生成错误日志,但此脚本没有任何错误日志条目
- 初步怀疑问题出在包含JOIN和多WHERE条件的SELECT查询语句中
相关代码与配置
可疑的SELECT语句片段
// 实际业务中的查询语句 $stmt = $pdo->prepare(" SELECT a.agent_id, a.email, l.assign_count FROM agents a LEFT JOIN lead_assignments l ON a.agent_id = l.agent_id WHERE a.status = 'active' AND a.is_on_duty = 1 AND l.last_assigned < DATE_SUB(NOW(), INTERVAL 5 MINUTE) ORDER BY l.assign_count ASC LIMIT 1 "); $stmt->execute(); $targetAgent = $stmt->fetch(PDO::FETCH_ASSOC);
php.ini错误报告相关配置
error_reporting = E_ALL display_errors = On log_errors = On error_log = /var/www/html/logs/php_errors.log
求助方向
请帮忙分析:为什么脚本功能全部正常,却会触发500错误?为什么没有生成对应的错误日志?
内容的提问来源于stack exchange,提问作者Andy B
相关产品推荐
相关产品推荐

