Mediawiki超时,明显的内存循环

问题描述 投票:0回答:0

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 16384 bytes) in /usr/local/var/www/mediawiki-1.43.0/includes/libs/rdbms/database/DatabaseMySQL.php on line 670

background
i在2月下旬将一堆信息加入了Mediawiki 1.43.0(最新),自2月28日我提供了所有功能都在起作用的演示以来一直没有触摸它。

在此之前,我已经完成了工作,包括设置许多名称空间和类别。他们始于2月28日。

现在,当我尝试访问某些名称空间(模板,类别,分钟,策略,请求,协议)时,它如上所述。

最初是在其他消息中失败的,即30秒的超时。搜索解决方案后,建议将以下内容放在PHP.Ini的顶部将有所帮助:

$cfg['ExecTimeLimit'] = 0;

我做到了,然后重新启动了httpd。然后,超时通知消失了,取而代之的是上述databasemysql.php错误。

没有出现在httpd

error_log

中。我知道我有合适的人,因为它在更改php.ini.

之后注意到了重新启动。 the httpd
access_log

---------------- 127.0.0.1 - - [13/Mar/2025:10:49:31 -0700] "GET /wiki/index.php/Special:RecentChanges HTTP/1.1" 200 227

(我将一排破折号放在日志中以标记新事物。)

MariaDB日志显示了一个超时,但是我可以使用其他界面(sequel Pro,Querius和MySQL Cli)瞬间访问所有MediaWiki表。

----------------
2025-03-13 10:58:49 131 [Warning] Aborted connection 131 to db: 'Hearthstone' user: 'root' host: 'localhost' (Got an error reading communication packets)

因此,很明显,这是一个Apache/PHP/MediaWiki问题,而不是数据库。似乎有可能导致递归记忆的循环,从而导致数据库连接到超时。
,自2月28日以来发生了什么变化?
Well,我从MacOS 13.7.3更新到13.7.4,这只是维护更新。这似乎是一个不太可能的原因,因为Mariadb和Apache似乎正常工作。

I已从DHCP分配的地址更改为“带有手动地址的DHCP”,其固定地址192.168.10.254,因为本地用户在先前的动态地址上遇到麻烦。我还将其返回到了DHCP分配的地址(它给了我以前的旧.106地址),但仍然有问题。 我希望Wiki在当地而不是UTC。我在php.ini和重新启动的apache中取消了这一行。在此状态下,我没有保存任何Wiki页面,此后已将其更改为注释,然后重新启动了Apache。

;date.timezone = 'America/Vancouver'

我一直在尝试扩展,但是我已经评论了localsettings.php中的

wfLoadExtension('…');
线 - 甚至在2月28日工作正常的线条。
我还评论了我添加的名称空间,即使自2月28日以来就没有更改。那并没有改变行为,所以我不接受行为。
$wgExtraNamespaces = array( 3000 => 'Test', 3001 => 'Test_talk', 3002 => 'Minutes', 3003 => 'Minutes_talk', 3004 => 'Policy', 3005 => 'Policy_talk', 3006 => 'Proposal', 3007 => 'Proposal_talk', 3006 => 'Request', 3007 => 'Request_talk', 3008 => 'Agreement', 3009 => 'Agreement_talk', 3010 => 'Project', 3011 => 'Project_talk' ); $wgContentNamespaces = array(3002, 3004, 3006, 3008, 3010);

最终,我进入了MediaWiki

maintenance

目录,并至少阅读了每个文件的第一页。我没有看到任何似乎可以解决我的问题的东西。 我从1.12起就一直在黑客入侵Mediawiki,但我在这里有些不满意。 通常,在提供这样的良好描述的过程中,我想出了什么问题。但不是这次!

有关如何解决此问题的任何想法?

thanks!

argh!

是的,我确实说我已经禁用了所有扩展。我错了 我按字母顺序排列它们,每个顺序都有他们可能需要的任何其他代码。

所以我从最后开始,有条不紊地上升并评论了每个扩展名……
ultil

我得到了看起来不像扩展名的东西,然后我想,“工作完成!”

但没有完成。
AccessControl
在加载命令之后有一些必需的设置,我毫无意义地意味着我正处于扩展名的结尾:

wfLoadExtension( 'AccessControl' ); # https://www.mediawiki.org/wiki/Extension:AccessControl
$wgGroupPermissions['*']['read']            = true;
$wgGroupPermissions['*']['createaccount']   = false;
$wgGroupPermissions['*']['edit']            = false;
$wgGroupPermissions['*']['writeapi']        = false;
$wgGroupPermissions['*']['createpage']      = false;
$wgGroupPermissions['*']['createtalk']      = false;

因此,自从发布我的问题以来,我发现

AccessControl

没有发表评论。正确评论时,瞧!它开始工作!

因此,MediaWiki扩展似乎有一些问题。现在,我将转到其网页并报告它。

php mysql apache categories mediawiki
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.