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