Jump to content

Project:Support desk

Add topic
From mediawiki.org
Welcome to the MediaWiki Support desk. This is a place where you can ask any questions you have about installing, using or administrating the MediaWiki software.

(Read this message in a different language)

See also

Before you post

Post a new question

  1. To help us answer your questions, please indicate which version of MediaWiki you are using, as found on your wiki's Special:Version page:
  2. If possible, add $wgShowExceptionDetails = true;error_reporting( -1 );ini_set( 'display_errors', 1 ); to LocalSettings.php in order to make MediaWiki show more detailed error messages.
  3. Please include the web address (URL) to your wiki if possible. It's often easier for us to identify the source of the problem if we can see the error directly.
  4. To start a new thread, click the box with the text Add topic.

403 error when using the search Api and special:export from Supabase edge function (using axios)

[edit]

Hello,

We're getting 403 error when we request the search Api and special:export

Edge function source code snippet:


import axios, { AxiosRequestConfig } from "npm:axios@^1.8.4";

const USER_AGENT = 'MyApp/1.0 (https://mywebsite.com; contact@mydomain.com)';

axios.interceptors.request.use((config: AxiosRequestConfig) => {

config.headers = {

...config.headers,

"User-Agent": USER_AGENT,

};

});

async getWikipediaArticles(term: string, language: string) {

const domain = this.getDomain(language);

const response = await axios.get(

`${domain}/w/api.php`,

{

params: {

action: "query",

format: "json",

generator: "prefixsearch",

prop: "pageimages|description|pageprops",

ppprop: "displaytitle",

piprop: "thumbnail",

pithumbsize: 60,

pilimit: WikipediaApi.searchResultsLimit,

gpssearch: term,

gpsnamespace: 0,

gpslimit: WikipediaApi.searchResultsLimit,

origin: "*",

...(this.wpProxy && { lang: language }),

},

},

);

return response.data?.query?.pages;

}

We already did the following:

  • Setup a User Agent as recommended here
  • Self-host Supabase in our own server instead of using SaaS in case of shared IP range is being blocked Yet, still same errors


We appreciate any help, Thanks! Zied dhf (talk) 15:54, 19 December 2025 (UTC)Reply

Please provide the error message, I CANNOT analyze error without any useful information, I am NOT Amitabha, thanks. LBLaiSiNanHai (talk) 12:36, 22 December 2025 (UTC)Reply
What have you done to the fonts and sizes - all of this is very difficult to read. I think the letters are too thick - and short - which make it difficult and uncomfortable to read. It all seems to blur together. Someone made a very bad decision. Also, why is my page suddenly shifting to German or Basque? rather than English as it has always been????? Javerdas@gmail.com username AlexandreCornille AlexandreCornille (talk) 03:27, 12 January 2026 (UTC)Reply
Sorry for not adding an error, here is it
::"event loop error: Error: Error converting HTML to Wikitext: AxiosError: Request failed with status code 403\n    at ParsoidHtmlToWikitext (file:///home/runner/work/wikiadviser/wikiadviser/supabase/functions/_shared/mediawikiAPI/ParasoidApi.ts:54:13)\n    at Object.runMicrotasks (ext:core/01_core.js:683:26)\n    at processTicksAndRejections (ext:deno_node/_next_tick.ts:59:10)\n    at runNextTicks (ext:deno_node/_next_tick.ts:76:3)\n    at eventLoopTick (ext:core/01_core.js:182:21)\n    at async file:///home/runner/work/wikiadviser/wikiadviser/supabase/functions/_shared/helpers/parsingHelper.ts:247:22\n    at async Promise.all (index 0)\n    at async parseWikidataTemplate (file:///home/runner/work/wikiadviser/wikiadviser/supabase/functions/_shared/helpers/parsingHelper.ts:255:27)\n    at async processExportedArticle (file:///home/runner/work/wikiadviser/wikiadviser/supabase/functions/_shared/helpers/parsingHelper.ts:287:28)\n    at async IncomingMessageForClient.<anonymous> (file:///home/runner/work/wikiadviser/wikiadviser/supabase/functions/_shared/wikipedia/WikipediaApi.ts:103:22)"

Zied dhf (talk) 14:00, 22 December 2025 (UTC)Reply

I mean the response text of api LBLaiSiNanHai (talk) 11:47, 31 December 2025 (UTC)Reply

Error in the name field

[edit]

When I was installing MediaWiki, after I filled in all the data in the name field, the following error appeared:

[aUZ2f@9pi2Qw339zE5T9wgAAAB0] /mw-config/index.php?page=Name Error: Failed opening required '/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/wikimedia/common-passwords/src/common.php' (include_path='/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/console_getopt:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/mail:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/mail_mime:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/net_smtp:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/net_socket:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/net_url2:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/pear-core-minimal/src:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/pear_exception:.:/usr/share/pear/')
Backtrace:
from /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/wikimedia/common-passwords/src/CommonPasswords.php(14)
#0 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/wikimedia/common-passwords/src/CommonPasswords.php(24): Wikimedia\CommonPasswords\CommonPasswords::getData()
#1 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/password/PasswordPolicyChecks.php(161): Wikimedia\CommonPasswords\CommonPasswords::isCommon(string)
#2 [internal function]: MediaWiki\Password\PasswordPolicyChecks::checkPasswordNotInCommonList(bool, MediaWiki\User\User, string)
#3 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/password/UserPasswordPolicy.php(150): call_user_func(array, bool, MediaWiki\User\User, string)
#4 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/password/UserPasswordPolicy.php(115): MediaWiki\Password\UserPasswordPolicy->checkPolicies(MediaWiki\User\User, string, array, array)
#5 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/installer/WebInstallerName.php(236): MediaWiki\Password\UserPasswordPolicy->checkUserPasswordForGroups(MediaWiki\User\User, string, array)
#6 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/installer/WebInstallerName.php(42): MediaWiki\Installer\WebInstallerName->submit()
#7 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/installer/WebInstaller.php(257): MediaWiki\Installer\WebInstallerName->execute()
#8 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/mw-config/index.php(93): MediaWiki\Installer\WebInstaller->execute(array)
#9 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/mw-config/index.php(43): wfInstallerMain()
#10 {main}

I want to know how to solve this, thank you. I am just a beginner. The MediaWiki version is 1.43.6 XiaoyuWhaoYu (talk) 10:13, 20 December 2025 (UTC)Reply

Your copy of MediaWiki is broken, may you need download it again LBLaiSiNanHai (talk) 10:25, 22 December 2025 (UTC)Reply
@XiaoyuWhaoYu Specifically, MediaWiki is trying to access the file vendor/wikimedia/common-passwords/src/common.php of your install and is unable to do so. In a proper install this should work. Either you have a partial install, an install with incorrect file permissions or file owners, or you are running from git and you have incorrectly installed. —TheDJ (Not WMF) (talkcontribs) 15:00, 22 December 2025 (UTC)Reply
This rings a bell, from a mistake I've made in the past. On https://releases.wikimedia.org/mediawiki/1.45/, for instance, there are some downloads with "core" in the filename. You don't want any of them. Jonathan3 (talk) 22:46, 4 January 2026 (UTC)Reply

Extension returning arbitrary page content

[edit]

I'm looking to make an extension that creates an RSS feed based on a category, but can't work out if it's possible to hook before any other content is sent to the client and replace it with an RSS or Atom feed?

I'm aware of external tools that do this, but it'd be nice having it integrated properly. DOSKEL (talk) 06:07, 23 December 2025 (UTC)Reply

Im not sure, most related hook is BeforePageDisplay LBLaiSiNanHai (talk) 11:44, 31 December 2025 (UTC)Reply
May u need create a new special page LBLaiSiNanHai (talk) 11:45, 31 December 2025 (UTC)Reply
This old extension managed it and I bet there are stable extensions that do it also: Extension:Bullet Feed. You could maybe modify them. Jonathan3 (talk) 22:42, 4 January 2026 (UTC)Reply

I think is may need some update

[edit]

Hello mediawiki I wanna request a some update to the Mainpages Nicedudebro (talk) 02:03, 26 December 2025 (UTC)Reply

N Not done: bad place, request on village pump or talk page of home page LBLaiSiNanHai (talk) 11:42, 31 December 2025 (UTC)Reply
@LBLaiSiNanHai Why do you post links to non-existing pages? Malyacko (talk) 14:53, 3 January 2026 (UTC)Reply
PLease sign up in dash.cloudflare.com to approve your device in the webpage or main page. You need to connect with the existing admin and present email support Khusser@Aol.com using your personal email in App.link.com. To be counted as mediawiki.org users in the main page, sign up in lists.wikimedia.org. Thank you.
Provided by: reihusser04@proton.me Reihusser04 (talk) 10:43, 15 January 2026 (UTC)Reply

DBQueryError while migrating table 'categoryLinks' on PostgreSQL

[edit]

Error while migrating DB PostgreSQL after MediaWiki update from 1.44.3 to 1.45.1. Reproduce rate: 100%. Multiple instances affected, true blocker. How to continue updating?

# php maintenance/run.php update

MediaWiki 1.45.1 Updater

Your composer.lock file is up to date with current dependencies!
Going to run database updates for mediawikilite-public-
Depending on the size of your database this may take a while!
Abort with control-c in the next five seconds (skip this countdown with --quick) ...0
...user_autocreate_serial table already exists.
Running MigrateRevisionActorTemp...
...Update 'MigrateRevisionActorTemp' already logged as completed. Use --force to run it again.
done.
...revision_actor_temp doesn't exist.
Running UpdateRestrictions...
Migration is not needed.
done.
...page table does not contain page_restrictions field.
...templatelinks table has already been migrated.
...column 'templatelinks.tl_target_id' is already set as NOT NULL
...no need to change primary key of 'templatelinks'
...templatelinks table does not contain tl_title field.
...have el_to_path field in externallinks table.
...have user_is_temp field in user table.
Running MigrateRevisionCommentTemp...
...Update 'MigrateRevisionCommentTemp' already logged as completed. Use --force to run it again.
done.
...revision_comment_temp doesn't exist.
Running MigrateExternallinks...
...Update 'MigrateExternallinks' already logged as completed. Use --force to run it again.
done.
...el_to field does not exist in externallinks table, skipping modify field patch.
...have pl_target_id field in pagelinks table.
...externallinks table does not contain el_to field.
Running FixInconsistentRedirects...
...Update 'FixInconsistentRedirects' already logged as completed. Use --force to run it again.
done.
...img_size in table image already modified by patch patch-image-img_size_to_bigint.sql.
...fa_size in table filearchive already modified by patch patch-filearchive-fa_size_to_bigint.sql.
...oi_size in table oldimage already modified by patch patch-oldimage-oi_size_to_bigint.sql.
...us_size in table uploadstash already modified by patch patch-uploadstash-us_size_to_bigint.sql.
...have uas_year field in user_autocreate_serial table.
...block_target table already exists.
...cl_collation_ext key doesn't exist.
Running PopulateUserIsTemp...
...Update 'PopulateUserIsTemp' already logged as completed. Use --force to run it again.
done.
...skipping: index sites_group doesn't exist.
...site_type key doesn't exist.
...site_group key doesn't exist.
...site_source key doesn't exist.
...site_language key doesn't exist.
...site_protocol key doesn't exist.
...site_domain key doesn't exist.
...site_forward key doesn't exist.
...iwl_prefix_from_title key doesn't exist.
...pagelinks table has already been migrated.
...column 'revision.rev_id' is already of type 'BIGINT'
...column 'revision.rev_parent_id' is already of type 'BIGINT'
...column 'recentchanges.rc_id' is already of type 'BIGINT'
...column 'change_tag.ct_rc_id' is already of type 'BIGINT'
Running MigrateBlocks...
...Update 'MigrateBlocks' already logged as completed. Use --force to run it again.
done.
...ipblocks doesn't exist.
...pagelinks table does not contain pl_title field.
...searchindex table has already been migrated.
...file table already exists.
...have cl_target_id field in categorylinks table.
...collation table already exists.
...module_deps doesn't exist.
Creating existencelinks table...done.
Running FixWrongPasswordPrefixes...
Wrongly prefixed user password hashes, if present, have been fixed.
done.
Adding index cl_timestamp_id to table categorylinks...done.
Running migrateLinksTable.php on categorylinks...
Populating the cl_target_id column
Wikimedia\Rdbms\DBQueryError from line 1225 of /var/www/html/includes/libs/rdbms/database/Database.php: Error 42601: ERROR:  syntax error at or near ")"
LINE 1: ...E (cl_target_id = 0 OR cl_target_id IS NULL) AND () AND cl_t...
                                                             ^

Function: MigrateLinksTable::handlePageBatch
Query: UPDATE  "categorylinks" SET cl_target_id = 17 WHERE (cl_target_id = 0 OR cl_target_id IS NULL) AND () AND cl_to = 'Templates:Formatting' AND (cl_from >= 0) AND (cl_from <= 999)

# 0 /var/www/html/includes/libs/rdbms/database/Database.php(1209): Wikimedia\Rdbms\Database->getQueryException('ERROR:  syntax ...', '42601', 'UPDATE  "catego...', 'MigrateLinksTab...')
# 1 /var/www/html/includes/libs/rdbms/database/Database.php(1183): Wikimedia\Rdbms\Database->getQueryExceptionAndLog('ERROR:  syntax ...', '42601', 'UPDATE  "catego...', 'MigrateLinksTab...')
# 2 /var/www/html/includes/libs/rdbms/database/Database.php(640): Wikimedia\Rdbms\Database->reportQueryError('ERROR:  syntax ...', '42601', 'UPDATE  "catego...', 'MigrateLinksTab...', false)
# 3 /var/www/html/includes/libs/rdbms/database/Database.php(1526): Wikimedia\Rdbms\Database->query(Object(Wikimedia\Rdbms\Query), 'MigrateLinksTab...')
# 4 /var/www/html/includes/libs/rdbms/database/DBConnRef.php(127): Wikimedia\Rdbms\Database->update('categorylinks', Array, Array, 'MigrateLinksTab...', Array)
# 5 /var/www/html/includes/libs/rdbms/database/DBConnRef.php(462): Wikimedia\Rdbms\DBConnRef->__call('update', Array)
# 6 /var/www/html/includes/libs/rdbms/querybuilder/UpdateQueryBuilder.php(332): Wikimedia\Rdbms\DBConnRef->update('categorylinks', Array, Array, 'MigrateLinksTab...', Array)
# 7 /var/www/html/maintenance/migrateLinksTable.php(137): Wikimedia\Rdbms\UpdateQueryBuilder->execute()
# 8 /var/www/html/maintenance/migrateLinksTable.php(90): MigrateLinksTable->handlePageBatch(0, Array, 'categorylinks')
# 9 /var/www/html/maintenance/includes/LoggedUpdateMaintenance.php(38): MigrateLinksTable->doDBUpdates()
# 10 /var/www/html/includes/installer/DatabaseUpdater.php(1424): MediaWiki\Maintenance\LoggedUpdateMaintenance->execute()
# 11 /var/www/html/includes/installer/DatabaseUpdater.php(531): MediaWiki\Installer\DatabaseUpdater->migrateCategorylinks()
# 12 /var/www/html/includes/installer/DatabaseUpdater.php(483): MediaWiki\Installer\DatabaseUpdater->runUpdates(Array, false)
# 13 /var/www/html/maintenance/update.php(184): MediaWiki\Installer\DatabaseUpdater->doUpdates(Array)
# 14 /var/www/html/maintenance/includes/MaintenanceRunner.php(696): UpdateMediaWiki->execute()
# 15 /var/www/html/maintenance/run.php(53): MediaWiki\Maintenance\MaintenanceRunner->run()
# 16 {main}

Don't be confused with "Templates:Formatting", it's actually Category name "Category:Templates:Formatting".

MidnightLG (talk) 15:52, 26 December 2025 (UTC)Reply

"AND ()" that is strange. This should not be empty. It should be 14 = 14 I think.? The migration fetches a value directly from a mapping table, and the other values it fetches from that mapping table seem to be there listed in the query. Can you try running the migration separately ? It should be ./maintenance/run migrateLinksTable --table categorylinks --force.TheDJ (Not WMF) (talkcontribs) 19:34, 26 December 2025 (UTC)Reply
It should say the same, then you can try adding some $this->output() logging to the values around line 123 and see what the values of this are when the script fails. —TheDJ (Not WMF) (talkcontribs) 19:40, 26 December 2025 (UTC)Reply
It should be 14 = 14 I think.? - I think that's "14 => null" at least because of the output. $ns there retreived from the $row[14] which means the value of the 14th column which is not present in the table and returns null, right? That's maybe intentional but resulted in a bug. Btw, I don't know how exactly the $row works. 14 = 14 means $row[14] = 14 but by the code of migrateLinksTable.php, line 123: $ns = $row[$mapping[$table]['ns']]; where $mapping[$table]['ns'] is 14, then we have literally $ns = $row[14] MidnightLG (talk) 21:45, 26 December 2025 (UTC)Reply
Also look at includes/libs/rdbms/SQLPlatform.php, line 228. That line gives the output. There's no way to get "14 = 14" even if the value was exactly 14 not null. If it was 14, then we would have something like "AND (14)". MidnightLG (talk) 21:58, 26 December 2025 (UTC)Reply
Sure. The output is the same.

Running migration separately

# maintenance/run migrateLinksTable --table categorylinks
Populating the cl_target_id column
Wikimedia\Rdbms\DBQueryError from line 1225 of /var/www/html/includes/libs/rdbms/database/Database.php: Error 42601: ERROR:  syntax error at or near ")"
LINE 1: ...E (cl_target_id = 0 OR cl_target_id IS NULL) AND () AND cl_t...
                                                             ^

Function: MigrateLinksTable::handlePageBatch
Query: UPDATE  "categorylinks" SET cl_target_id = 17 WHERE (cl_target_id = 0 OR cl_target_id IS NULL) AND () AND cl_to = 'Templates:Formatting' AND (cl_from >= 0) AND (cl_from <= 999)

#0 /var/www/html/includes/libs/rdbms/database/Database.php(1209): Wikimedia\Rdbms\Database->getQueryException('ERROR:  syntax ...', '42601', 'UPDATE  "catego...', 'MigrateLinksTab...')
#1 /var/www/html/includes/libs/rdbms/database/Database.php(1183): Wikimedia\Rdbms\Database->getQueryExceptionAndLog('ERROR:  syntax ...', '42601', 'UPDATE  "catego...', 'MigrateLinksTab...')
#2 /var/www/html/includes/libs/rdbms/database/Database.php(640): Wikimedia\Rdbms\Database->reportQueryError('ERROR:  syntax ...', '42601', 'UPDATE  "catego...', 'MigrateLinksTab...', false)
#3 /var/www/html/includes/libs/rdbms/database/Database.php(1526): Wikimedia\Rdbms\Database->query(Object(Wikimedia\Rdbms\Query), 'MigrateLinksTab...')
#4 /var/www/html/includes/libs/rdbms/database/DBConnRef.php(127): Wikimedia\Rdbms\Database->update('categorylinks', Array, Array, 'MigrateLinksTab...', Array)
#5 /var/www/html/includes/libs/rdbms/database/DBConnRef.php(462): Wikimedia\Rdbms\DBConnRef->__call('update', Array)
#6 /var/www/html/includes/libs/rdbms/querybuilder/UpdateQueryBuilder.php(332): Wikimedia\Rdbms\DBConnRef->update('categorylinks', Array, Array, 'MigrateLinksTab...', Array)
#7 /var/www/html/maintenance/migrateLinksTable.php(137): Wikimedia\Rdbms\UpdateQueryBuilder->execute()
#8 /var/www/html/maintenance/migrateLinksTable.php(90): MigrateLinksTable->handlePageBatch(0, Array, 'categorylinks')
#9 /var/www/html/maintenance/includes/LoggedUpdateMaintenance.php(38): MigrateLinksTable->doDBUpdates()
#10 /var/www/html/maintenance/includes/MaintenanceRunner.php(696): MediaWiki\Maintenance\LoggedUpdateMaintenance->execute()
#11 /var/www/html/maintenance/run.php(53): MediaWiki\Maintenance\MaintenanceRunner->run()
#12 /var/www/html/maintenance/run(3): require('/var/www/html/m...')
#13 {main}

MidnightLG (talk) 21:22, 26 December 2025 (UTC)Reply

This looks like a bug having to do with the categorylinks table. Flounder ceo (talk) 21:14, 27 December 2025 (UTC)Reply
Yeah I think this is bug. Should be reported in phbrictor —TheDJ (Not WMF) (talkcontribs) 21:35, 3 January 2026 (UTC)Reply
I'm just a user not a developer thus have no idea how to do that. I hope that someone from WMF will help. MidnightLG (talk) 09:45, 9 January 2026 (UTC)Reply
WMF, any chance to get it fixed? MidnightLG (talk) 06:58, 15 January 2026 (UTC)Reply

LintErrors/missing-end-tag

[edit]

This line:

Het land kent een {{Split|{{#statements:regeringsvorm}}|, |1}}, met {{#statements:staatshoofd}} aan het hoofd.

in b:nl:Atlas van Europa/Monaco gives a lint error "missing-end-tag in span" and "Output not from a single template". What is wrong with it, please? - Erik Baas (talk) 10:01, 27 December 2025 (UTC) PS.: The template "Split" is also used on 86 other pages, without any problems.Reply

In your Split template (https://nl.wikibooks.org/w/index.php?title=template:split&action=edit) maybe "{Split" should be "{{Split".
|#default=<span class="error">&#123;{Split {{!}} <string> {{!}} <marker> [ {{!}} <deel#> ] }&#125;</span> Jonathan3 (talk) 22:38, 4 January 2026 (UTC)Reply
Thank you, but... I don't think so. That line evaluates to
{{Split | <string> | <marker> [ | <deel#> ] }}
(&#123; gives a curly brace) and is correctly shown in case of an error, and does not generate a lint error. I'll look into it again. - Erik Baas (talk) 23:32, 4 January 2026 (UTC)Reply
Sorry for barking up the wrong tree. I've not used Linter yet but am going to guess that your code is fine but just too convoluted for the extension to understand :-) Jonathan3 (talk) 23:46, 4 January 2026 (UTC)Reply
I found the problem! One would expect {{#statements:regeringsvorm|from=Q235}} to return "constitutional monarchy, hereditary monarchy", but instead I see this in the HTML source:
<span><span>constitutionele monarchie</span>, <span>erfopvolging</span></span> (in Dutch)!
What remains after splitting the string is "<span><span>constitutionele monarchie</span>", which indeed contains a lint error.
Three useless spans...  :-( - Erik Baas (talk) 00:15, 5 January 2026 (UTC)Reply

I just found that all data from Wikidata is embedded in span tags, and when this data contains more than one item the total string is also in span tags. This is from the HTML source of b:nl:Atlas van Europa/Noorwegen:

<span><span>Oslo</span></span>
<span><span>5.594.340</span></span> (50% mannen, 50% vrouwen)
<span><span>Bokmål</span>, <span>Samisch</span>, <span>Nynorsk</span>, <span><a href="/wiki/Noors" title="Noors">Noors</a></span></span>

Why?? I don't know... - Erik Baas (talk) 00:31, 5 January 2026 (UTC)Reply

@Erik Baas: If you use {{#property:}} to get the raw value (rather than {{#statements:}}) does it work? Sam Wilson 07:03, 5 January 2026 (UTC)Reply
Yes, #property works fine, without lint errors, because no span tags are inserted. But that's not the point, is it? Right now I can't use Template:Split with #statements! And, again: can anyone explain why those span tags are there?? - Erik Baas (talk) 21:31, 7 January 2026 (UTC)Reply
Maybe you could improve your Split template :-) If you don't want to alter the template you could add something like this to either side of it: {{#replace:{{#replace:....................||}}||}}. Jonathan3 (talk) 23:20, 11 January 2026 (UTC)Reply

How to list names in Defaultsort

[edit]

How should names be listed in Defaultsort that contain de, di, van, von?. Hiart (talk) 03:18, 1 January 2026 (UTC)Reply

what do u mean? please give me more details. LBLaiSiNanHai (talk) 06:52, 1 January 2026 (UTC)Reply
@Hiart, I see you edit English Wikipedia and Wikimedia Commons. This support desk is for running your own wiki. In relation to those wikis, Defaultsort (a Category feature)...
English Wikipedia’s guidance is:
  • Generally, Dutch, French, German, Italian, Portuguese, Spanish, and Swedish names do not include lowercase particles in sorting, but do include uppercase particles. For example, Otto von Bismarck is sorted {{DEFAULTSORT:Bismarck, Otto von}}, Jean de La Fontaine is sorted {{DEFAULTSORT:La Fontaine, Jean de}}, and Alberto Di Chiara is sorted {{DEFAULTSORT:Di Chiara, Alberto}}.
c:Commons:Sorting of categories named after people doesn't give specific advice and is only a proposed guideline, but the English Wikipedia guidance map apply there too. Commander Keane (talk) 08:27, 6 January 2026 (UTC)Reply

Wikibase Error

[edit]

Hello MediaWiki, could you help? The MediaWiki team updated the Wikibase extension two months ago, and I installed it according to the instructions, but I'm getting an error. I downloaded Wikibase version 1.45.1 and added # Load Wikibase repository to the LocalSettings.php file. wfLoadExtension( 'WikibaseRepository', "$IP/extensions/Wikibase/extension-repo.json" ); require_once "$IP/extensions/Wikibase/repo/ExampleSettings.php"; and started updating the wiki script, but I encountered an error: An error occurred: No such service: WikibaseRepo.SettingsHello MediaWiki, could you help? The MediaWiki team updated the Wikibase extension two months ago, and I installed it according to the instructions, but I'm getting an error. I downloaded Wikibase version 1.45.1 and added # Load Wikibase repository to the LocalSettings.php file. wfLoadExtension( 'WikibaseRepository', "$IP/extensions/Wikibase/extension-repo.json" ); Therudekiweweffffffff (talk) 13:48, 5 January 2026 (UTC)Reply

Started updating how? Please provide a list of steps to reproduce with exact commands. Downloaded to where exactly? Which version of MediaWiki is this about? Also, this might be better suited for Talk:Wikibase/Installation. Also, no, "The MediaWiki team" (which does not exist) did not update the Wikibase extension two months ago; updates happen much more regularly. Malyacko (talk) 21:16, 5 January 2026 (UTC)Reply
I downloaded the MediaWiki 1.45 archive for Wiki 1.45.1 from your site MediaWiki.org. In the Installation section, I copied the code for this file, LocalSettings.php, and placed it at the end of the file. I ran the update script, and it returned an error. Therudekiweweffffffff (talk) 04:26, 6 January 2026 (UTC)Reply
@Therudekiweweffffffff: How did you install the Wikibase extension? You may have a version mismatch — double check that you've installed the version of Wikibase for MediaWiki 1.45. Sam Wilson 05:15, 6 January 2026 (UTC)Reply

User logged out after running the update script

[edit]

I am using mediawiki via NixOS. I noticed I get logging out every time I update the settings, and I have determined this is due to NixOS re-running the update script. The update script call the purgeCache function in DatabaseUpdater.php, which purge the "objectcache" used by CACHE_DB.

I wonder how is the best way to handle that. I have gone over multiple solution, which are:

  • Use a different BafOStuff
    • SQLBagOStuff seems really appropriate. Memcache does not persist and the RestBagOStuff exist, but apparently uses cassandra and a bunch of complex configuration.
  • Use a different table
    • That’s the option I use on my wiki, but it lead to doubt over maintainability, especially when I had to manually create this table.
  • Not purge session
    • I’ve created a patch that purge everything from the objectcache except those MwSession. It works. And only need to patch one line.
  • Not purge the cache
    • I’m worried it might lead to some stale cache. Having the cache cleaning at times is probably a good thing, even with its auto-cleaning. Plus it likely is part of the update script for some reason.

And in the end, I’m not sure which way would be the more appropriate. I think the "using a different table for at least session, and maybe other stash" would be the best, but that would require being able to auto-create this table across mysql, postgresql, mssql and sqlite, in a way that is forward-compatible and fail loudly.

(hmm... I see that the "mediawiki-init" already perform an SQL operation to check if the "user" table exist, and if not run the install script. It might be possible to do something similar with a CREATE TABLE IF NOT EXISTS instruction)

(also, that’s just about the default behavior. It is nice to be able to have a working Mediawiki install with just a few config entry sets)

I have made a ticket on GitHub in the NixOS repo for that: https://github.com/NixOS/nixpkgs/issues/476338 Marius851000 (talk) 17:30, 7 January 2026 (UTC)Reply

My MediaWiki website is not accessible

[edit]

When I try to access my website, the browser tells me that the site cannot load successfully. Strangely, when I haven't installed localsettings, it can be accessed normally. My MediaWiki version is 1.45.1. Before this, I had installed MediaWiki version 1.39 and was performing an upgrade. I hope to receive a prompt reply. Thank you! XiaoyuWhaoYu (talk) 12:10, 8 January 2026 (UTC)Reply

@XiaoyuWhaoYu have you tried reading the documentation ? —TheDJ (Not WMF) (talkcontribs) 18:37, 8 January 2026 (UTC)Reply
Review Manual:Upgrading#Adapt_your_LocalSettings.php.
Check your extensions and skins. Comment them out in LocalSettings and then uncomment them a few at a time while running the update to see if it works. Flounder ceo (talk) 16:49, 9 January 2026 (UTC)Reply

Is Manual:$wgAutoCreateTempUser still "experimental"?

[edit]

Manual:$wgAutoCreateTempUser says "Warning: This configuration parameters is considered EXPERIMENTAL!."

Is it still experimental and, if not, when did that happen? I'm on MW1.43 now. I heard that Wikipedia is using it. Thanks. Jonathan3 (talk) 14:55, 9 January 2026 (UTC)Reply

@Jonathan3 I've removed the experimental warning. With it being on production at WMF, it's as stable as most other config flags. —TheDJ (Not WMF) (talkcontribs) 20:58, 9 January 2026 (UTC)Reply
Thank you. Can I double check that it was already stable on MW1.43.6? Jonathan3 (talk) 00:29, 10 January 2026 (UTC)Reply

"InvalidArgumentException: Invalid expiry value: 1 year" when trying to edit page after upgrade to 1.45

[edit]

Hello, I've just upgraded my mediawiki installation from 1.39 to 1.45. Viewing pages works fine, but when I try to edit a page, I get the following exception:

[a53582294da78d8dbaf739cc] /w/index.php?title=Warlords_Wiki:Sandbox&action=submit InvalidArgumentException: Invalid expiry value: 1 year

Backtrace:

from /var/www/html/w/includes/libs/ParamValidator/TypeDef/ExpiryDef.php(108)
#0 /var/www/html/w/includes/libs/ParamValidator/TypeDef/ExpiryDef.php(169): Wikimedia\ParamValidator\TypeDef\ExpiryDef::normalizeExpiry()
#1 /var/www/html/w/includes/libs/ParamValidator/TypeDef/ExpiryDef.php(144): Wikimedia\ParamValidator\TypeDef\ExpiryDef::expiryExceedsMax()
#2 /var/www/html/w/includes/watchlist/WatchedItemStore.php(1051): Wikimedia\ParamValidator\TypeDef\ExpiryDef::normalizeUsingMaxExpiry()
#3 /var/www/html/w/includes/watchlist/WatchedItemStore.php(998): MediaWiki\Watchlist\WatchedItemStore->addWatchBatchForUser()
#4 /var/www/html/w/includes/watchlist/WatchlistManager.php(367): MediaWiki\Watchlist\WatchedItemStore->addWatch()
#5 /var/www/html/w/includes/watchlist/WatchlistManager.php(499): MediaWiki\Watchlist\WatchlistManager->addWatchIgnoringRights()
#6 /var/www/html/w/includes/editpage/EditPage.php(2723): MediaWiki\Watchlist\WatchlistManager->setWatch()
#7 /var/www/html/w/includes/editpage/EditPage.php(2579): MediaWiki\EditPage\EditPage->updateWatchlist()
#8 /var/www/html/w/includes/editpage/EditPage.php(1819): MediaWiki\EditPage\EditPage->internalAttemptSave()
#9 /var/www/html/w/includes/editpage/EditPage.php(710): MediaWiki\EditPage\EditPage->attemptSave()
#10 /var/www/html/w/includes/actions/EditAction.php(55): MediaWiki\EditPage\EditPage->edit()
#11 /var/www/html/w/includes/actions/SubmitAction.php(29): MediaWiki\Actions\EditAction->show()
#12 /var/www/html/w/includes/actions/ActionEntryPoint.php(734): MediaWiki\Actions\SubmitAction->show()
#13 /var/www/html/w/includes/actions/ActionEntryPoint.php(505): MediaWiki\Actions\ActionEntryPoint->performAction()
#14 /var/www/html/w/includes/actions/ActionEntryPoint.php(143): MediaWiki\Actions\ActionEntryPoint->performRequest()
#15 /var/www/html/w/includes/MediaWikiEntryPoint.php(184): MediaWiki\Actions\ActionEntryPoint->execute()
#16 /var/www/html/w/index.php(44): MediaWiki\MediaWikiEntryPoint->run()
#17 {main}

I've tried searching this error up but I've found nothing useful. Does anyone know what could be causing this? Below is my LocalSettings.php if that's helpful (with some parts omitted for security reasons):

<?php
# This file was automatically generated by the MediaWiki 1.39.2
# installer. If you make manual changes, please keep track in case you
# need to recreate them later.
#
# See docs/Configuration.md for all configurable settings
# and their default values, but don't forget to make changes in _this_
# file, not there.
#
# Further documentation for configuration settings may be found at:
# https://www.mediawiki.org/wiki/Manual:Configuration_settings

# Protect against web entry
if ( !defined( 'MEDIAWIKI' ) ) {
	exit;
}


## Uncomment this to disable output compression
# $wgDisableOutputCompression = true;

$wgSitename = "Warlords Wiki";
$wgMetaNamespace = "Warlords_Wiki";

## The URL base path to the directory containing the wiki;
## defaults for all runtime URL paths are based off of this.
## For more information on customizing the URLs
## (like /w/index.php/Page_title to /wiki/Page_title) please see:
## https://www.mediawiki.org/wiki/Manual:Short_URL
$wgScriptPath = "/w";
$wgArticlePath = "/wiki/$1";

## The protocol and server name to use in fully-qualified URLs
$wgServer = "https://www.mcwarlords.net";

## The URL path to static resources (images, scripts, etc.)
$wgResourceBasePath = $wgScriptPath;

## The URL paths to the logo.  Make sure you change this from the default,
## or else you'll overwrite your logo when you upgrade!
$wgLogos = [
	# '1x' => "$wgResourceBasePath/resources/assets/wlwiki-135.png",
	'tagline' => [
		"src" => "warring the lords",
		"width" => 117,
		"height" => 13
	],
	'icon' => "$wgResourceBasePath/resources/assets/wlwiki.png",
];
$wgLogo = "{$wgScriptPath}/resources/assets/wlwiki-135.png";

## UPO means: this is also a user preference option

$wgEnableEmail = true;
$wgEnableUserEmail = true; # UPO

$wgEmergencyContact = "";
$wgPasswordSender = "";

$wgEnotifUserTalk = false; # UPO
$wgEnotifWatchlist = false; # UPO
$wgEmailAuthentication = true;

## Database settings
$wgDBtype = "mysql";
$wgDBserver = [[[omitted]]];
$wgDBname = [[[omitted]]];
$wgDBuser = [[[omitted]]];
$wgDBpassword = [[[omitted]]];

# MySQL specific settings
$wgDBprefix = "";

# MySQL table options to use during installation or update
$wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary";

# Shared database table
# This has no effect unless $wgSharedDB is also set.
$wgSharedTables[] = "actor";

## Shared memory settings
$wgMainCacheType = CACHE_NONE;
$wgMemCachedServers = [];

## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads = true;
#$wgUseImageMagick = true;
#$wgImageMagickConvertCommand = "/usr/bin/convert";

# InstantCommons allows wiki to use images from https://commons.wikimedia.org
$wgUseInstantCommons = false;

# Periodically send a pingback to https://www.mediawiki.org/ with basic data
# about this MediaWiki instance. The Wikimedia Foundation shares this data
# with MediaWiki developers to help guide future development efforts.
$wgPingback = false;

# Site language code, should be one of the list in ./includes/languages/data/Names.php
$wgLanguageCode = "en";

# Time zone
$wgLocaltimezone = "Europe/London";

## Set $wgCacheDirectory to a writable directory on the web server
## to make your wiki go slightly faster. The directory should not
## be publicly accessible from the web.
#$wgCacheDirectory = "$IP/cache";

$wgSecretKey = [[[omitted]]];

# Changing this will log out all existing sessions.
$wgAuthenticationTokenVersion = "1";

# Site upgrade key. Must be set to a string (default provided) to turn on the
# web installer while LocalSettings.php is in place
$wgUpgradeKey = [[[omitted]]];

## For attaching licensing metadata to pages, and displaying an
## appropriate copyright notice / icon. GNU Free Documentation
## License and Creative Commons licenses are supported so far.
$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright
$wgRightsUrl = "https://creativecommons.org/licenses/by-sa/4.0/";
$wgRightsText = "Creative Commons Attribution-ShareAlike";
$wgRightsIcon = "$wgResourceBasePath/resources/assets/licenses/cc-by-sa.png";

# Path to the GNU diff3 utility. Used for conflict resolution.
$wgDiff3 = "/usr/bin/diff3";

## Default skin: you can change the default skin. Use the internal symbolic
## names, e.g. 'vector' or 'monobook':
# $wgDefaultSkin = "darkvector";
$wgDefaultSkin = "vector";

# Enabled skins.
# The following skins were automatically enabled:
wfLoadSkin( 'MinervaNeue' );
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Timeless' );
wfLoadSkin( 'Vector' );
# wfLoadSkin( 'DarkVector' );

# Enabled extensions. Most of the extensions are enabled by adding
# wfLoadExtension( 'ExtensionName' );
# to LocalSettings.php. Check specific extension documentation for more details.
# The following extensions were automatically enabled:
wfLoadExtension( 'CodeEditor' );
# wfLoadExtension( 'VisualEditor' );
wfLoadExtension( 'WikiEditor' );

wfLoadExtension('Cite');



# End of automatically generated settings.
# Add more configuration options below.

$wgGroupPermissions['approved'] = $wgGroupPermissions['user'];

$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['user']['edit'] = false;

$wgGroupPermissions['approved']['edit'] = true;
$wgGroupPermissions['approved']['upload'] = true;
$wgGroupPermissions['sysop']['edit'] = true;

$wgAddGroups['sysop']['approved'] = true;
$wgRemoveGroups['sysop']['approved'] = true;

wfLoadExtension("ParserFunctions");
wfLoadExtension("TemplateStyles");
wfLoadExtension("Scribunto");
$wgScribuntoDefaultEngine = 'luastandalone';
$wgScribuntoEngineConf['luastandalone']['luaPath'] = '/usr/bin/lua5.1';
wfLoadExtension("Math");

$wgFileExtensions = [
	'png', 'gif', 'jpg', 'jpeg', 'bmp', 'svg'
];

$wgUploadDirectory = "{$IP}/images";
$wgMaxUploadSize = 1024*1024*100;

$wgJobRunRate = 0;
wfLoadExtension( 'PageImages' );
// wfLoadExtension( 'WikiSEO' );
$wgSkinMetaTags = ["og:image", "og:site_name", "og:title", "og:type", "twitter:card"];

define("NS_TEXT", 3000);
define("NS_TEXT_TALK", 3001);
$wgExtraNamespaces[NS_TEXT] = "Text";
$wgExtraNamespaces[NS_TEXT_TALK] = "Text_talk";
define("NS_ESSAY", 3002);
define("NS_ESSAY_TALK", 3003);
$wgExtraNamespaces[NS_ESSAY] = "Essay";
$wgExtraNamespaces[NS_ESSAY_TALK] = "Essay_talk";
define("NS_CODE", 3004);
define("NS_CODE_TALK", 3005);
$wgExtraNamespaces[NS_CODE] = "Code";
$wgExtraNamespaces[NS_CODE_TALK] = "Code_talk";
define("NS_RULES", 3006);
define("NS_RULES_TALK", 3007);
$wgExtraNamespaces[NS_RULES] = "Rules";
$wgExtraNamespaces[NS_RULES_TALK] = "Rules_talk";
wfLoadExtension( 'ConfirmAccount' );
$wgGroupPermissions['*']['createaccount'] = false; // REQUIRED to enforce account requests via this extension
$wgGroupPermissions['bureaucrat']['createaccount'] = true; // optional to allow account creation by this trusted user group
$wgConfirmAccountRequestFormItems = [
	'UserName'        => [ 'enabled' => true ],
	'RealName'        => [ 'enabled' => false ],
	'Biography'       => [ 'enabled' => false, 'minWords' => 50 ],
	'AreasOfInterest' => [ 'enabled' => false ],
	'CV'              => [ 'enabled' => false ],
	'Notes'           => [ 'enabled' => true ],
	'Links'           => [ 'enabled' => false ],
	'TermsOfService'  => [ 'enabled' => false ],
];

$wgSessionCacheType = CACHE_DB;
$wgSecureLogin = true;
$wgCookieHttpOnly = true;
$wgCookieSecure = 'detect';

$wgShowExceptionDetails = true;

TheZipCreator (talk) 00:07, 10 January 2026 (UTC)Reply

I can't answer your question but want to say thank you for the LocalSettings.php. I installed MediaWiki at about version 1.5 so some of the new contents had passed me by! Jonathan3 (talk) 14:49, 10 January 2026 (UTC)Reply

Internal error in MediaWiki version 1.45.1

[edit]

When I successfully updated from version 1.39 to 1.45.1, I visited the website homepage and encountered the following error:

MediaWiki internal error.

Original exception: [aWHabhDbcSWMES5syHuY3gAAAAA] /index.php/%E9%A6%96%E9%A1%B5 Error: Failed opening required '/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/extensions/SecureLinkFixer/includes/../domains.php' (include_path='/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/console_getopt:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/mail:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/mail_mime:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/net_smtp:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/net_socket:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/net_url2:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/pear-core-minimal/src:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/pear_exception:.:/usr/share/pear/')
Backtrace:
from /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/extensions/SecureLinkFixer/includes/HSTSPreloadLookup.php(38)
#0 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/extensions/SecureLinkFixer/includes/Hooks.php(62): MediaWiki\SecureLinkFixer\HSTSPreloadLookup->isPreloaded(string)
#1 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/HookContainer/HookContainer.php(134): MediaWiki\SecureLinkFixer\Hooks->onLinkerMakeExternalLink(string, string, string, array, string)
#2 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/HookContainer/HookRunner.php(2638): MediaWiki\HookContainer\HookContainer->run(string, array)
#3 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/linker/LinkRenderer.php(407): MediaWiki\HookContainer\HookRunner->onLinkerMakeExternalLink(string, string, string, array, string)
#4 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/parser/Parser.php(2145): MediaWiki\Linker\LinkRenderer->makeExternalLink(string, string, MediaWiki\Title\Title, string, array)
#5 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/parser/Parser.php(1549): MediaWiki\Parser\Parser->handleExternalLinks(string)
#6 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/parser/Parser.php(606): MediaWiki\Parser\Parser->internalParse(string)
#7 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/content/WikitextContentHandler.php(375): MediaWiki\Parser\Parser->parse(string, MediaWiki\Title\Title, MediaWiki\Parser\ParserOptions, bool, bool, int)
#8 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/content/ContentHandler.php(1574): MediaWiki\Content\WikitextContentHandler->fillParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams, MediaWiki\Parser\ParserOutput)
#9 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/content/Renderer/ContentRenderer.php(67): MediaWiki\Content\ContentHandler->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams)
#10 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/Revision/RenderedRevision.php(246): MediaWiki\Content\Renderer\ContentRenderer->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Page\PageIdentityValue, MediaWiki\Revision\RevisionStoreRecord, MediaWiki\Parser\ParserOptions, array)
#11 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/Revision/RenderedRevision.php(219): MediaWiki\Revision\RenderedRevision->getSlotParserOutputUncached(MediaWiki\Content\WikitextContent, array)
#12 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/Revision/RevisionRenderer.php(225): MediaWiki\Revision\RenderedRevision->getSlotParserOutput(string, array)
#13 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/Revision/RevisionRenderer.php(158): MediaWiki\Revision\RevisionRenderer->combineSlotOutput(MediaWiki\Revision\RenderedRevision, MediaWiki\Parser\ParserOptions, array)
#14 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/Revision/RenderedRevision.php(182): MediaWiki\Revision\RevisionRenderer->MediaWiki\Revision\{closure}(MediaWiki\Revision\RenderedRevision, array)
#15 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/page/ParserOutputAccess.php(586): MediaWiki\Revision\RenderedRevision->getRevisionParserOutput()
#16 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/page/ParserOutputAccess.php(672): MediaWiki\Page\ParserOutputAccess->renderRevision(MediaWiki\Page\WikiPage, MediaWiki\Parser\ParserOptions, MediaWiki\Revision\RevisionStoreRecord, array)
#17 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/poolcounter/PoolCounterWorkViaCallback.php(68): MediaWiki\Page\ParserOutputAccess->MediaWiki\Page\{closure}()
#18 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/poolcounter/PoolCounterWork.php(159): MediaWiki\PoolCounter\PoolCounterWorkViaCallback->doWork()
#19 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/page/ParserOutputAccess.php(489): MediaWiki\PoolCounter\PoolCounterWork->execute()
#20 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/page/Article.php(824): MediaWiki\Page\ParserOutputAccess->getParserOutput(MediaWiki\Page\WikiPage, MediaWiki\Parser\ParserOptions, MediaWiki\Revision\RevisionStoreRecord, array)
#21 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/page/Article.php(537): MediaWiki\Page\Article->generateContentOutput(MediaWiki\User\User, MediaWiki\Parser\ParserOptions, int, MediaWiki\Output\OutputPage, array)
#22 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/actions/ViewAction.php(71): MediaWiki\Page\Article->view()
#23 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/actions/ActionEntryPoint.php(734): MediaWiki\Actions\ViewAction->show()
#24 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/actions/ActionEntryPoint.php(505): MediaWiki\Actions\ActionEntryPoint->performAction(MediaWiki\Page\Article, MediaWiki\Title\Title)
#25 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/actions/ActionEntryPoint.php(143): MediaWiki\Actions\ActionEntryPoint->performRequest()
#26 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/MediaWikiEntryPoint.php(184): MediaWiki\Actions\ActionEntryPoint->execute()
#27 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/index.php(44): MediaWiki\MediaWikiEntryPoint->run()
#28 {main}

Exception caught inside exception handler: [aWHabhDbcSWMES5syHuY3gAAAAA] /index.php/%E9%A6%96%E9%A1%B5 Wikimedia\Rdbms\DBQueryError: A database query error has occurred. Did you forget to run your application's database schema updater after upgrading or after adding a new extension?

Please see https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Upgrading and https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:How_to_debug for more information.

Error 1146: Table 'if0_40723530_wkx.echo_event' doesn't exist
Function: MediaWiki\Extension\Notifications\Mapper\EventMapper::fetchUnreadByUserAndPage
Query: SELECT event_id,event_type,event_agent_id,event_agent_ip,event_extra,event_page_id,event_deleted,notification_timestamp FROM `echo_event` JOIN `echo_notification` ON ((notification_event=event_id)) JOIN `echo_target_page` ON ((etp_event=event_id)) WHERE event_deleted = 0 AND notification_user = 1 AND notification_read_timestamp IS NULL AND etp_page = 1

Backtrace:
from /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/libs/rdbms/database/Database.php(1225)
#0 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/libs/rdbms/database/Database.php(1209): Wikimedia\Rdbms\Database->getQueryException(string, int, string, string)
#1 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/libs/rdbms/database/Database.php(1183): Wikimedia\Rdbms\Database->getQueryExceptionAndLog(string, int, string, string)
#2 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/libs/rdbms/database/Database.php(640): Wikimedia\Rdbms\Database->reportQueryError(string, int, string, string, bool)
#3 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/libs/rdbms/database/Database.php(1363): Wikimedia\Rdbms\Database->query(Wikimedia\Rdbms\Query, string)
#4 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/libs/rdbms/database/DBConnRef.php(127): Wikimedia\Rdbms\Database->select(array, array, array, string, array, array)
#5 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/libs/rdbms/database/DBConnRef.php(384): Wikimedia\Rdbms\DBConnRef->__call(string, array)
#6 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/libs/rdbms/querybuilder/SelectQueryBuilder.php(761): Wikimedia\Rdbms\DBConnRef->select(array, array, array, string, array, array)
#7 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/extensions/Echo/includes/Mapper/EventMapper.php(177): Wikimedia\Rdbms\SelectQueryBuilder->fetchResultSet()
#8 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/extensions/Echo/includes/Hooks.php(709): MediaWiki\Extension\Notifications\Mapper\EventMapper->fetchUnreadByUserAndPage(MediaWiki\User\User, int)
#9 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/extensions/Echo/includes/Hooks.php(811): MediaWiki\Extension\Notifications\Hooks->processMarkAsRead(MediaWiki\User\User, MediaWiki\Request\WebRequest, MediaWiki\Title\Title)
#10 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/HookContainer/HookContainer.php(134): MediaWiki\Extension\Notifications\Hooks->onSkinTemplateNavigation__Universal(MediaWiki\Skins\Vector\SkinVector22, array)
#11 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/HookContainer/HookRunner.php(4089): MediaWiki\HookContainer\HookContainer->run(string, array, array)
#12 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/skins/SkinTemplate.php(971): MediaWiki\HookContainer\HookRunner->onSkinTemplateNavigation__Universal(MediaWiki\Skins\Vector\SkinVector22, array)
#13 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/skins/Vector/includes/SkinVector22.php(52): MediaWiki\Skin\SkinTemplate->runOnSkinTemplateNavigationHooks(MediaWiki\Skins\Vector\SkinVector22, array)
#14 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/skins/SkinTemplate.php(1375): MediaWiki\Skins\Vector\SkinVector22->runOnSkinTemplateNavigationHooks(MediaWiki\Skins\Vector\SkinVector22, array)
#15 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/skins/SkinTemplate.php(599): MediaWiki\Skin\SkinTemplate->buildContentNavigationUrlsInternal()
#16 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/skins/SkinTemplate.php(180): MediaWiki\Skin\SkinTemplate->getPortletsTemplateData()
#17 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/skins/SkinMustache.php(117): MediaWiki\Skin\SkinTemplate->getTemplateData()
#18 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/skins/Vector/includes/SkinVector22.php(302): MediaWiki\Skin\SkinMustache->getTemplateData()
#19 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/skins/SkinMustache.php(79): MediaWiki\Skins\Vector\SkinVector22->getTemplateData()
#20 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/skins/SkinTemplate.php(173): MediaWiki\Skin\SkinMustache->generateHTML()
#21 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/skins/Skin.php(661): MediaWiki\Skin\SkinTemplate->outputPage()
#22 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/Output/OutputPage.php(3296): MediaWiki\Skin\Skin->outputPageFinal(MediaWiki\Output\OutputPage)
#23 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/exception/MWExceptionRenderer.php(185): MediaWiki\Output\OutputPage->output()
#24 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/exception/MWExceptionRenderer.php(103): MediaWiki\Exception\MWExceptionRenderer::reportHTML(Error)
#25 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/exception/MWExceptionHandler.php(123): MediaWiki\Exception\MWExceptionRenderer::output(Error, int)
#26 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/exception/MWExceptionHandler.php(224): MediaWiki\Exception\MWExceptionHandler::report(Error)
#27 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/MediaWikiEntryPoint.php(204): MediaWiki\Exception\MWExceptionHandler::handleException(Error, string)
#28 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/actions/ActionEntryPoint.php(79): MediaWiki\MediaWikiEntryPoint->handleTopLevelError(Error)
#29 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/MediaWikiEntryPoint.php(190): MediaWiki\Actions\ActionEntryPoint->handleTopLevelError(Error)
#30 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/index.php(44): MediaWiki\MediaWikiEntryPoint->run()
#31 {main}

Among other things, it tells me whether the updater was used, and I'm sure I have used it. I thought it might be missing files, because it told me it couldn't open the required files, but after checking, I found that wasn't the case. Of course, some files are indeed missing, but the source code archive downloaded from your site doesn't have those files either. Asking for your help is my only option, and I hope to resolve this as soon as possible. Thank you!I come from another country and I am a beginner. I cannot fully understand these errors. XiaoyuWhaoYu (talk) 05:01, 10 January 2026 (UTC)Reply

Solved, thank you XiaoyuWhaoYu (talk) 01:41, 11 January 2026 (UTC)Reply
I don't know so I can only give a few hints. It looks like two extensions are involved: SecureLinkFixer and Echo (=Notifications).
"the source code archive downloaded from your site doesn't have those files either" - both extensions come bundled with MediaWiki if you download the package as instructed (https://www.mediawiki.org/wiki/Download). Did you perhaps download the package from an alternative location like Github (which uses submodules and the like)?
To rule out other factors, could you disable those extensions and see if MediaWiki works fine without them?
Rand(1,2022) (talk)

I have no $wgSecretKey setting in my LocalSettings.php

[edit]

Should I add one (it looks like I should) and how? It might be because I installed MediaWiki years ago and didn't read the release notes carefully enough over the years. Thanks. Jonathan3 (talk) 14:53, 10 January 2026 (UTC)Reply

Always state your MediaWiki version. And why do you think you need it if it's not there? – Ammarpad (talk) 14:56, 11 January 2026 (UTC)Reply
"Always state your MediaWiki version."
MW 1.43.
"And why do you think you need it if it's not there?"
Partly because of the wording on the manual page:
  • "This should always be customized to a secret, unique string in LocalSettings.php."
  • "This should always be customized to a secret, unique string in LocalSettings.php. Installer.php sets it to a 64-character random string generated by MWCryptRand::generateHex( 64 );"
  • "On modern PHP versions with access to /dev/urandom, mcrypt random, or openssl random, these functions are used in lieu of this variable for the purpose of token generation. However this variable is still used for other purposes, so it is still very important it be set to a unique random value even on modern PHP." (emphasis added)
Also:
  • My LocalSettings.php was generated in version 1.5 so I thought it had been introduced since, but I see from Manual:$wgSecretKey that the variable had apparently been introduced in MW 1.4. I note, though, that an unanswered question on the talk page 18 years ago says: "Since this replaces $wgProxyKey, should there be any concern that there is no value specified in the auto-generated LocalSettings.php in 1.9.3?"
  • There is also an unanswered question from 11 years ago: "What should one do in the event of an accidental deletion of $wgSecretKey from LocalSettings.php? Is there a way to regenerate it?"
What do you think? Should I add a value for this variable and, if so, how? Thank you. Jonathan3 (talk) 23:02, 11 January 2026 (UTC)Reply
You can generate a vanilla LocalSettings.php if you rename your live LocalSettings.php and run the web-updater.
At the end you will get a download of a LocalSettings.php for your current mediawiki version. Remove the vanilla LocalSettings.php file from your web space and rename your old one back to LocalSettings.php to make it live and and try adding/changing anything from the vanilla one you downloaded to your live file, save after each change, and reload your wiki to check if the changes lead your wiki install to throw errors to get a recent version including the wgSecrectKey value. UsualyWeJustSayPlease (talk) 22:35, 15 January 2026 (UTC)Reply

Visual Editor doesn 't run after upgrade

[edit]

I have upgraded from v1.40.0 to v1.45.1, and the editor doesn't run at all - when pressing the Edit button, nothing happens; pressing the Edit Source button brings up source editing as usual. This occurs on Firefox, Chrome, and Edge, so I don't think this is a browser-specific issue. I have cleared cookies, and enabled debug logging, although this just displays a long screed which means nothing to me. I'm not sure this is related, but I also use the CategoryTree extension, which has an expand/collpase tree button, which also doesn't respond, so there seems to be a common "extension buttons not responding" issue. I can't help feeling this is down to a simple setting somewhere, but I am far from being an expert on this software, so I have run out of ideas. ~2026-20446-3 (talk) 15:10, 10 January 2026 (UTC)Reply

I'm not sure but maybe it's just JavaScript not running. You can press F12 to see the errors as they happen. Jonathan3 (talk) 01:42, 11 January 2026 (UTC)Reply
I had some issues with several core Extensions not working because when I uploaded the new mediawiki version (I updated frp 1.39x to 1.43.x) some files weren't uploaded/updated properly. I downloaded the extension manually and updated them via FTP once more, which resolved my issue, maybe this will work for you as well? UsualyWeJustSayPlease (talk) 22:22, 15 January 2026 (UTC)Reply

runJobs.php - Failed to open stream: Permission denied in GlobalIdGenerator.php

[edit]

Since upgrading from MW1.39 to 1.43 I sometimes see this in the runJobs.php log:

PHP Warning: fopen(/var/www/example.com/html/images/temp/mw-GlobalIdGenerator1000-UUID-128): Failed to open stream: Permission denied in /var/www/example.co.uk/html/includes/libs/uuid/GlobalIdGenerator.php on line 451

Either sudo php run.php runJob or sudo -u www-data php run.php runJobs seems to prevent the problem but is there an underlying cause I can fix?

What should the ownership of the images/temp folder be? I have it as www-data. Jonathan3 (talk) 00:33, 11 January 2026 (UTC)Reply

Here's another similar one:
:PHP Warning:  fopen(/var/www/example.co.uk/html/media/temp/mw-GlobalIdGenerator1000-UUID-128): Failed to open stream: Permission denied in /var/www/example.co.uk/html/includes/libs/uuid/GlobalIdGenerator.php on line 451
:2026-01-10 23:10:18 refreshLinks Template:... pages={"12918":[0,"..."]} rootJobSignature=... rootJobTimestamp=20260110160120 triggeredRecursive=1 causeAction=edit-page causeAgent=... namespace=10 title=... requestId=a28995a3bf56e13b1390d423 (id=10464512,timestamp=20260110190021) t=99 error=RuntimeException: Could not open '/var/www/example.co.uk/html/media/temp/mw-GlobalIdGenerator1000-UUID-128'. in /var/www/example.co.uk/html/includes/libs/uuid/GlobalIdGenerator.php on line 456
:PHP Warning:  fopen(/var/www/example.co.uk/html/media/temp/mw-runJobs-backoffs.json): Failed to open stream: Permission denied in /var/www/example.co.uk/html/includes/jobqueue/JobRunner.php on line 544
:[182ea9e48980ffb8d6993e77] [no req]   TypeError: flock(): Argument #1 ($stream) must be of type resource, false given
:Backtrace:
:from /var/www/example.co.uk/html/includes/jobqueue/JobRunner.php(545)
:#0 /var/www/example.co.uk/html/includes/jobqueue/JobRunner.php(545): flock()
:#1 /var/www/example.co.uk/html/includes/jobqueue/JobRunner.php(198): JobRunner->syncBackoffDeltas()
:#2 /var/www/example.co.uk/html/maintenance/runJobs.php(97): JobRunner->run()
:#3 /var/www/example.co.uk/html/maintenance/includes/MaintenanceRunner.php(703): RunJobs->execute()
:#4 /var/www/example.co.uk/html/maintenance/doMaintenance.php(100): MediaWiki\Maintenance\MaintenanceRunner->run()
:#5 /var/www/example.co.uk/html/maintenance/runJobs.php(140): require_once(string)
:#6 {main}
:
Jonathan3 (talk) 00:47, 11 January 2026 (UTC)Reply
See Manual:Security#File permissions on how to fix your install. – Ammarpad (talk) 14:53, 11 January 2026 (UTC)Reply
The strange thing is that my setup is as described there - html and everything in it my user, except images and everything in it www-data. I copied across the same files with cp -rp as I had on 1.39. Maybe I should have mv'd them? Any other ideas? Jonathan3 (talk) 21:09, 11 January 2026 (UTC)Reply
@Jonathan3 I think the problem is your permissions for your PHP temp directory /var/www/example.co.uk/html/media/temp/ … this also needs permissions of your webserver user and read write access. —TheDJ (Not WMF) (talkcontribs) 10:40, 18 January 2026 (UTC)Reply
I’m not sure why this is your temp directory and not /tmp or /var/www/example.co.uk/temp or something. Is this shared hosting ? Have you configured it yourself in LocalSettings.php . —TheDJ (Not WMF) (talkcontribs) 10:43, 18 January 2026 (UTC)Reply
@TheDJ Thanks. It was on shared hosting for many years, until about 5 years ago when I moved to Digital Ocean. The directory names will have been my fault though. It's "media" (not "images") because that reflects better what's on my wiki. I don't remember why I changed it from "tmp" to "temp", despite the comment. Should I change things? It hadn't caused a problem between MW1.5 and 1.39, but maybe I shouldn't have changed it in the first place!
:::# changed from "images" aug15
:::$wgUploadPath       = "$wgScriptPath/media";
:::$wgUploadDirectory  = "$IP/media";
:::$wgTmpDirectory     = "{$wgUploadDirectory}/temp";  #changed from tmp (because temp exists) to stop error displaying image
Jonathan3 (talk) 14:40, 18 January 2026 (UTC)Reply
@TheDJ I just noticed your earlier message about permissions. It works fine when I run runJobs.php as sudo/root or as www-data, just not as my normal user (jonathan). Here are the permissions:
drwxr-xr-x  8 www-data www-data  131072 Jan 18 00:24 media
and then
drwxr-xr-x    3 www-data www-data    20480 Jan 18 15:09  temp
Jonathan3 (talk) 15:23, 18 January 2026 (UTC)Reply
@Jonathan3 you are supposed to run runJobs (and any maintenance script really) as the web user. If you want to run it as your normal user, your normal user should be added to the www-data group. —TheDJ (Not WMF) (talkcontribs) 17:38, 18 January 2026 (UTC)Reply

Unable to import page

[edit]

I get the following error when I import the page:

The lua binary (/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/extensions/Scribunto/includes/Engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua) is not executable.

I have installed Scribunto. The mediawiki version is 1.45.1 XiaoyuWhaoYu (talk) 10:25, 11 January 2026 (UTC)Reply

I can't make this file "Lua" executable. XiaoyuWhaoYu (talk) 10:27, 11 January 2026 (UTC)Reply
Why can't you? It's necessary. – Ammarpad (talk) 14:40, 11 January 2026 (UTC)Reply

?: Template parameter, "|" character inclusion, Subst(?).

[edit]

How would I force "|" characters to be included in one parameter that than would, for example, contain xxx|zzz or(SMW usage related) xxx||zzz ?

I do know about the existence of subst & savesubst ... But that's about it. Understanding multi level substitution details have so far still eluded me big time.

MvGulik (talk) 09:30, 13 January 2026 (UTC)Reply

@MvGulik: Does the {{!}} magic word help? Sam Wilson 03:21, 14 January 2026 (UTC)Reply
Well ... Yes & No.
The xxx||zzz part is used inside a initial #ask call, which triggers a secondary template call (+other #ask).
In the initial #ask call I use the code ... |introtemplate=<template-name>{{!}}<parm1...n>{{!}}xxx{{!}}zzz |.... The {{!}} is already used/needed here to not break the initial #ask call itself.
... Hmm.
... I did some other changes to the code after posting this question. Which moved the xxx||zzz data parts, from inside the template, to the initial template call. Figure here I can merge those two parms into one. ie: <my-template>|<some-name>|xxx{{!!}}zzz ... Which worked as I hoped. :-)
Thanks for making me look at it again, as that kinda fixed it. ;-) (without having to use any subst's, phew.) MvGulik (talk) 17:59, 15 January 2026 (UTC)Reply
Correction.
The merged xxx{{!!}}zzz parmameters trick worked fine for the for the first #ask (data)call. But when passing it on to the second template call in the first #ask (template-call) part it (ofc) processes those included "||" as parameter separators.
.
Guess I got some more thinking to do, although that is more out of personal interest. As its currently working across the board while using <my-template>|<some-name>|xxx|zzz and {{{2}}}{{#if:{{{3|}}}|{{!}}...}} where needed. While the whole template is still relative clean, although a bit compressed.
.
(ie:Resolution: (still) Fixed) MvGulik (talk) 11:00, 16 January 2026 (UTC)Reply

Moved to SQLite from MariaDB; now thinking of reverting...

[edit]

So I decided to move from MariaDB to SQLite due to resource hogging concerns, but I'd like to note that I naively set up the wiki I have without taking to account any caching. For the time being I migrated to SQLite in an effort to ease the load on my site, but in case I do revert, how do I set up a basic caching system? And would that ease the CPU load off somehow? My wiki ends up eating 100% processor time at certain moments, sometimes for a while to the point that the VPS I am using stalls. Blakegripling ph (talk) 01:25, 14 January 2026 (UTC)Reply

The built-in file caching system that is quite good, and easy to enable. See Manual:File cache.
For more advanced tuning, check Manual:Performance tuning. Flounder ceo (talk) 18:39, 14 January 2026 (UTC)Reply

Math equation errors

[edit]

We are have a lot of issues on our site displaying Math equations. we are getting the error - Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":)

we are running on version 1.42.3

https://epg.modot.org/index.php?title=751.2_Loads

any help would be appreciated Rshoskins71 (talk) 16:07, 14 January 2026 (UTC)Reply

This documentation is showing it as deprecated? https://www.mediawiki.org/w/index.php?api=wmf-restbase&title=Special%3ARestSandbox#/Math Flounder ceo (talk) 18:48, 14 January 2026 (UTC)Reply

Lowering security

[edit]

I'm adminning a small mediawiki install on an intranet. One of our users doesn't want to be bothered logging in before editing, so all their edits show up as IP-address edits. They find the "You are not logged in" warning annoying, and I've been asked to make it go away. by grepping my mediawiki install, I've found that "anoneditwarning" seems to be the message in question. I could edit the en.json file to have "anoneditwarning" be a zero-length string, but I'm wondering if there's a better option, like configuring our install to not display the message.

Relatedly, I'm also wondering if, since we use static IPs, if there's a way to create some sort of user-alias, so that instead of edit's being attributed to "10.0.0.1", they could be attributed to "Joe's Computer" or something like that--or maybe even just "Joe". Kinda like IP-address-based authentication, I guess. (wiki-ing like it's 1989!) --Bsammon (talk) 22:19, 14 January 2026 (UTC)Reply

To get rid of the message, blank your wiki's MediaWiki:Anoneditwarning page.
To avoid the IP addresses (though not achieve the nice alias effect) you could try this: Project:Support_desk#Is_Manual:$wgAutoCreateTempUser_still_"experimental"?. Jonathan3 (talk) 01:51, 15 January 2026 (UTC)Reply
P.S. I've just seen this: Extension:NetworkAuth. It looks like you give it a list of IP addresses and usernames, and and it automatically logs the user in when it recognises his IP address. Jonathan3 (talk) 01:55, 15 January 2026 (UTC)Reply

Automatic null edits of multiple pages

[edit]

I'm sure this has been raised before, but... After upgrading MediaWiki (though maybe I noticed coincidentally) a lot of pages which were meant to be categorised by templates were no longer categorised. There were also a lot in and another problem category I can't remember.

Purging the cache doesn't help. I tried the maintenance sripts rebuildAll, purgePage and purgeList and they didn't help. Only a null edit seems to fix it. I am using w:Wikipedia:AutoWikiBrowser to null edit multiple pages, and it seems to be working. I have used Manual:Pywikibot in the past but haven't got it set up (and thought AWB would be simpler).

Is there a maintenance script that will do this job?

Thanks. Jonathan3 (talk) 16:57, 15 January 2026 (UTC)Reply

IMO this is a bug that needs to be fixed. - Erik Baas (talk) 17:35, 15 January 2026 (UTC)Reply
The cause of the problem might have been my fault (maybe a problem elsewhere in the template) but the result (not being able to fix things without external software) is annoying. I'm not sure it counts a bug, though ideally it wouldn't happen I suppose! Jonathan3 (talk) 22:28, 15 January 2026 (UTC)Reply
In similar cases I did have some success with purging pages using the API(sandbox).
<your-wiki>/wiki/Special:ApiSandbox#action=purge&forcelinkupdate=1&generator=categorymembers&gcmtitle=Category%3Afoobar
MvGulik (talk) 18:20, 15 January 2026 (UTC)Reply
That's interesting, thanks. I wonder whether it would have fixed my category problem. I see in API:Purge there's also forcerecursivelinkupdate, described as "Same as forcelinkupdate, and update the links tables for any page that uses this page as a template." But since AWB seems to be working for me, I'll likely stick with that in future. Jonathan3 (talk) 22:31, 15 January 2026 (UTC)Reply
What version did you upgrade to? There were some changes to the categorylinks table in 1.45. See Manual:categorylinks table Flounder ceo (talk) 00:06, 16 January 2026 (UTC)Reply
I upgraded from 1.39 to 1.43. The upgrade script didn't display any relevant errors. I have a feeling that one of my templates caused the problem and I just didn't notice until now. I forgot to type it into the first comment above but one of the categories was a maintenance category along the lines of "max expansion depth exceeded", so I guess something was wrong at some point, which "infected" a load of content pages. My real concern is that there wasn't a maintenance script to fix it :-) Jonathan3 (talk) 23:46, 16 January 2026 (UTC)Reply

I added this as a feature request on Phabricator: T414885! Jonathan3 (talk) 15:12, 18 January 2026 (UTC)Reply

REDIRECT Problem

[edit]

On the page with the listing with all redirects there is the following problem:

The link to the source-page and also the link to the target-page is correct. But the text over both links is the same, I get to times the text of the target-name.

The same problem is in the redirected pages. Redirected from "target-page". Expected is: Redirected from "oure-page" ~2026-33856-8 (talk) 13:56, 16 January 2026 (UTC)Reply

Can you link to an example? Also which version of MediaWiki? – Ammarpad (talk) 15:51, 16 January 2026 (UTC)Reply

Requested URL was not found on this server

[edit]

Bonjour,

je n'arrive pas à résoudre cet anomalie

le message  :

The requested URL was not found on this server.

Apache/2.4.65 (Win64) PHP/8.3.28 mod_fcgid/2.3.10-dev Server at wikivfr Port 80


je suis en version 1.39.12 de mediawiki

  • ServerName : wikivfr - Directory : c:/wamp64/www/mediawiki-1.39.8_vfr_rc36_2

Windows hosts C:/WINDOWS/system32/drivers/etc/hosts


Pouvez vous m'aider?

Merci Schub srx (talk) 08:08, 17 January 2026 (UTC)Reply

Which URL?
Also, MediaWiki 1.39.12 in an outdated, unsupported version. Please upgrade to a supported version for your own safety. Malyacko (talk) 00:32, 18 January 2026 (UTC)Reply
Thanks, that was my url ,
i will also upgraded Schub srx (talk) 10:28, 18 January 2026 (UTC)Reply

Confusing error message when $wgReadOnly is set and $wgSessionCacheType=CACHE_DB

[edit]

Manual:$wgSessionCacheType notes that "if CACHE_DB is used then users cannot log in when the respective wiki's database was locked with e.g. $wgReadOnly".

But the error message you get isn't anything like "You can't log in because the website is temporarily read only" but instead is "There seems to be a problem with your login session; this action has been canceled as a precaution against session hijacking".

Is there any way to change this? Thanks. Jonathan3 (talk) 23:29, 17 January 2026 (UTC)Reply

@Jonathan3 can you please file a phabricator ticket about this in our bugtracker ? —TheDJ (Not WMF) (talkcontribs) 10:29, 18 January 2026 (UTC)Reply
Done! T414883 Jonathan3 (talk) 15:02, 18 January 2026 (UTC)Reply

[SOLVED] UrlShortener "alternative URL" query

[edit]

If anyone can answer my question at Extension_talk:UrlShortener#"You_can_also_use_this_alternative_URL:" I would be grateful.

Essentially I was asking how to get it to stop offering alternate URLs (which begin with _). Thanks. Jonathan3 (talk) 01:58, 18 January 2026 (UTC)Reply

I got a reply - thanks :-) Jonathan3 (talk) 15:04, 18 January 2026 (UTC)Reply

Undefined property / « MWException »

[edit]

Hello

I experience this issue when I switch to connected mode

Warning: Undefined property: Parser::$deprecatedPublicProperties in C:\wamp64\www\mediawiki-1.39.3_VFR_RC36_2\includes\debug\DeprecationHelper.php on line 208

In offline mode, I have no errors.

Could you help me Schub srx (talk) 10:22, 18 January 2026 (UTC)Reply

i upgraded to 1.39.8 to 1.39.12 now i have this message
[b333ed588ed21aff79f1d411] /mediawiki-1.39.3_VFR_RC36_2/index.php/Sp%C3%A9cial:Version MWException: Parser state cleared while parsing. Did you call Parser::parse recursively? Lock is held by: #0 C:\wamp64\www\mediawiki-1.39.3_VFR_RC36_2\includes\parser\Parser.php(955): Parser->lock() Schub srx (talk) 10:46, 18 January 2026 (UTC)Reply