Php symfony2长脚本中断并显示保存对话框

Php symfony2长脚本中断并显示保存对话框,php,symfony,dialog,interruption,Php,Symfony,Dialog,Interruption,我有一个脚本,它通过CURL加载csv,一旦有了csv,它就会将每个记录添加到数据库中,完成后,显示添加的注册总数 在不到500个注册表上,它执行得很好,问题是当注册表数量太大时,执行会在某个点中断,浏览器会显示“下载”对话框,其中的文件名为“我的url的最后一部分”,但扩展名不包含任何内容。没有警告、错误或任何类型的消息。数据库显示它添加了一些注册表,如果我多次运行脚本,它会添加少量注册表 我曾试图寻找有类似情况的人,但还没有找到 如果您能深入了解这件事,我将不胜感激。我不确定这是否是symf

我有一个脚本,它通过CURL加载csv,一旦有了csv,它就会将每个记录添加到数据库中,完成后,显示添加的注册总数

在不到500个注册表上,它执行得很好,问题是当注册表数量太大时,执行会在某个点中断,浏览器会显示“下载”对话框,其中的文件名为“我的url的最后一部分”,但扩展名不包含任何内容。没有警告、错误或任何类型的消息。数据库显示它添加了一些注册表,如果我多次运行脚本,它会添加少量注册表

我曾试图寻找有类似情况的人,但还没有找到

如果您能深入了解这件事,我将不胜感激。我不确定这是否是symfony2问题、服务器配置问题还是其他问题


提前感谢

您的脚本可能已达到最大php执行时间,默认情况下为30秒。您可以在控制器中使用php set_time_limit()函数执行冗长的操作来更改它。例如:

set_time_limit (300); //300 seconds = 5 minutes 

您的脚本可能已达到最大php执行时间,默认情况下为30秒。您可以在控制器中使用php set_time_limit()函数执行冗长的操作来更改它。例如:

set_time_limit (300); //300 seconds = 5 minutes 

这是PHP运行的Web服务器/环境的更多限制


增加max_execution_time以允许您的Web服务器更长时间地运行请求-另一种方法是编写控制台命令,cli环境在许多情况下不受限制。

这是PHP运行的Web服务器/环境的一个更大限制


增加max_execution(最大执行时间)以允许您的Web服务器更长时间地运行请求-替代方法是编写控制台命令,cli环境在许多情况下不受限制。

您也可以尝试优化加载程序,使其执行得更快:-)我已经考虑过,我的max_execution(最大执行时间)设置为600,我在bucle中添加了一个设置的时间限制(600),但没有任何帮助。此外,不会出现“致命错误:超过最大执行时间…”消息。我刚刚测试过,它似乎在仅仅1分钟后就停止了。在脚本中调用set_time_limit()可能最终会破坏您的单元测试,因为它们通常在单个进程中运行@weyandch的答案是一个更好的选择。你也可以尝试优化你的加载程序,使它执行得更快:-)我已经考虑过,我的最大执行时间设置为600,我在for bucle中添加了一个设置时间限制(600),但这没有帮助。此外,不会出现“致命错误:超过最大执行时间…”消息。我刚刚测试过,它似乎在仅仅1分钟后就停止了。在脚本中调用set_time_limit()可能最终会破坏您的单元测试,因为它们通常在单个进程中运行@weyandch的答案是一个更好的选择。只是为了说明问题出在zend server CE配置中,它忽略了apache配置并将硬最大执行时间设置为60。只是为了说明问题出在zend server CE配置中,它忽略了apache配置并将硬最大执行时间设置为60