Symfony2:长时间运行的脚本返回内部服务器错误

时间:2016-01-25 16:52:53

标签: php symfony apache2

我正在使用Symfony2创建一个执行长期任务的Web服务,此任务即将向数据库添加大量数据。

我使用PostMan测试此Web服务 花了大约5分钟,它返回“500内部服务器错误”,没有任何错误解释,也没有完成整个过程。

顺便说一句,我在Symfony控制台命令中做了相同的过程,大约花了3分钟没有任何问题。

我配置了php.ini

memory_limit = 1024M
max_execution_time = 5000

所以我认为问题来自apache2?

以下是PostMan的响应标题:

Connection → close
Content-Length → 0
Content-Type → text/html
Date → Mon, 25 Jan 2016 16:34:26 GMT
Server → Apache/2.4.7 (Ubuntu)
Vary → Authorization
X-Powered-By →
X-Powered-By
Specifies the technology (ASP.NET, PHP, JBoss, e.g.) supporting the web application (version details are often in X-Runtime, X-Version, or X-AspNet-Version)
PHP/5.5.9-1ubuntu4.14

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法! 我正在做的是在数据库表中插入大约200k的行,这是非常大的,而symfony会记录日志文件中的所有查询。

我禁用了doctrine2 sql logger:

$dbConnection->getConfiguration()->setSQLLogger(null);

现在一切都好了。

PS:对于那些在使用doctrine的数据库中遇到批量插入问题的人来说,永远不要使用常规实体管理器来保存带有Entity对象的数据,最好让PDO连接并插入一个key = > value数据的数组并为其创建事务。