导出CSV文件时,Silverstripe会抛出错误500

时间:2018-05-03 01:33:05

标签: php silverstripe

我在Silverstripe网站上遇到HTTP错误500,同时尝试在我的一个ModelAdmin标签中导出CSV文件。但是,我注意到如果我过滤显示的结果,则不会显示错误。仅供参考,未经过滤的结果有大约8000行数据。

我的服务器上是否有特定的设置我可以调整以解决此问题?

1 个答案:

答案 0 :(得分:2)

您可以在多个位置设置可用的RAM:

<强> 1 即可。 php.ini ...存储在像/etc/php/5.6/php.ini这样的地方(不是确切的位置,这一切都取决于你的系统)。使用:

php_value memory_limit 512M

...然后重启APACHE(sudo service apache2 restart)

<强> 2 即可。在你的htaccess文件中:

php_value memory_limit 512M

第3 即可。在你的mysite / _config.php文件中: ini_set('memory_limit', '512M');

<强> 4 即可。使用Silverstripe API(参见SS3中的framework / core / Core.php) - 添加到mysite / _config.php或其他将在导出发生之前运行的地方:

increase_memory_limit_to('512M');

如果用-1替换512M,最终会有无限的内存。

问题在于,您经常无法编辑php.ini并使用方法2,3或4设置它无效或因某些其他原因而失败。最好通过临时将以下内容添加到mysite / _config.php文件中来检查它是否真的有效:

die('current memory limit is: '.ini_get('memory_limit'));

希望有帮助...