我们在 Concrete5.7 中遇到了一个奇怪的问题:我们开始收集相当多的堆栈(目前为 64 个),并且我们的服务器PHP Fatal error: Maximum execution time of 30 seconds exceeded in /example/path/to/website/concrete/blocks/html/controller.php on line 89
在编辑页面时开始抛出服务器错误( ),特别是在/ccm/system/panels/add?cID=2468&tab=stacks
通过 XHR 获取时。
max_execution_time
我通过从 30 增加到 60 in暂时解决了这个问题php.ini
,但这似乎是一个糟糕的解决方法,在向 Stacks 添加更多内容后我将不得不再次碰撞。
除了盲目增加,我还能做些max_execution_time
什么吗?
追踪到blocks/html/controller.php:89
,即在xml_highlight()
函数中;具体来说,这一行(参见此处上下文中的代码):
$s = preg_replace(
"#<(.*)(\[)(.*)(\])>#isU",
"<\\1<font color=\"#800080\">\\2\\3\\4</font>>",
$s
);
这对我来说似乎是一个相当简单的正则表达式;我错过了什么吗?
我还想到,我可以preg_replace
从中删除所有调用xml_highlight()
并检查性能,但我不确定这样做会失去什么功能。
供参考,来自dashboard/system/environment/info
:
# concrete5 Version
Core Version - 5.7.5.2
Version Installed - 5.7.5.2
Database Version - 20150731000000