我尝试在我的一个ModelAdmin标签中导出CSV文件时,在我的Silverstripe网站上遇到HTTP错误500。但是,我注意到如果我过滤显示的结果,则不会显示错误。仅供参考,未经过滤的结果有大约8000行数据。
我的服务器上是否有特定的设置我可以调整以解决此问题?
您可以在许多地方设置可用的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'));
希望有帮助......