Project:Support desk

About this board

Welcome to the MediaWiki Support desk, where you can ask MediaWiki questions!

(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 versions you are using, as found on your wiki's Special:Version page:
    • MediaWiki version
    • PHP version
    • Database type and version
  2. 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.
  3. To start a new thread, click "Start a new topic".

The supplied credentials could not be authenticated.

Vanfellseng (talkcontribs)

Dear community,

I know, that this error has already been reported several times, and I already read through all of them, but I cannot solve this error for my own. I've installed the base system, and afterwards I followed this article Manual:Active Directory Integration. Running

php ShowUserInfo.php --domain LDAP --username testuser

brings me a valid result with all user fields.

Chaning according parameters cause some changes. When I change a password from ldap.conf, then the ShwoUserInfo.php results in an error. But activating logs are only successful for $wgDebugLogGroups["ldap"]. And activating $LDAPAuthentication2AllowLocalLogin = true does not enable me to make a local login. I would appreciate any help to get this running. Maybe I do have a simpel misconfiguration, I mean, it is working for many others :/

Here is my ldap.conf, with greyed (confidential) data.


   LDAP": {

       "connection": {

           "server": "",

           "port": "3269",

           "user": "CN=userwithreadpermission,OU=Users,OU=LM,OU=IAM,DC=domain,DC=test,DC=de",

           "pass": "Passwort",

           "enctype": "ssl",

           "options": {

               "LDAP_OPT_DEREF": 1


           "basedn": "dc=domain,dc=test,dc=de",

           "userbasedn": "dc=domain,dc=test,dc=de",

           "groupbasedn": "dc=domain,dc=test,dc=de",

           "searchattribute": "samaccountname",

           "usernameattribute": "samaccountname",

           "realnameattribute": "displayName",

           "emailattribute": "mail",

           "grouprequest": "MediaWiki\\Extension\\LDAPProvider\\UserGroupsRequest\\UserMemberOf::factory",

           "presearchusernamemodifiers": [ "spacestounderscores", "lowercase" ]


       "userinfo": [],

       "authorization": [],

       "groupsync": {

           "mapping": {

               "engineering": "CN=IT-GROUP,OU=F,OU=Groups,OU=some_ous,DC=domain,DC=test,DC=de",

               "bureaucrat": "CN=IT-GROUP,OU=F,OU=Groups,OU=some_ous,DC=domain,DC=test,DC=de",

               "interface-admin": "CN=IT-GROUP,OU=F,OU=Groups,OU=some_ous,DC=domain,DC=test,DC=de",

               "sysop": "CN=IT-GROUP,OU=F,OU=Groups,OU=some_ous,DC=domain,DC=test,DC=de"





Here is my LocalSettings.php


# This file was automatically generated by the MediaWiki 1.38.2

# installer. If you make manual changes, please keep track in case you

# need to recreate them later.


# See docs/ 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:


# Protect against web entry

if ( !defined( 'MEDIAWIKI' ) ) {



## Uncomment this to disable output compression

# $wgDisableOutputCompression = true;

$wgLDAPDebug = 3;

$wgDebugLogGroups["ldap"] = "/tmp/LDAP.log";

$LDAPAuthentication2AllowLocalLogin = true;

$wgGroupPermissions['*']['autocreateaccount'] = true;

$wgSitename = "ITWIKI";

## 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:


$wgScriptPath = "";

## The protocol and server name to use in fully-qualified URLs

$wgServer = "http://localhost";

## 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/change-your-logo.svg",



   'icon' => "$wgResourceBasePath/resources/assets/change-your-logo.svg",


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

$wgEnableEmail = true;

$wgEnableUserEmail = true; # UPO

$wgEmergencyContact = "apache@🌻.invalid";

$wgPasswordSender = "apache@🌻.invalid";

$wgEnotifUserTalk = false; # UPO

$wgEnotifWatchlist = false; # UPO

$wgEmailAuthentication = true;

## Database settings

$wgDBtype = "mysql";

$wgDBserver = "localhost";

$wgDBname = "wsit";

$wgDBuser = "root";

$wgDBpassword = "password";

# 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 = false;

#$wgUseImageMagick = true;

#$wgImageMagickConvertCommand = "/usr/bin/convert";

# InstantCommons allows wiki to use images from

$wgUseInstantCommons = false;

# Periodically send a pingback to with basic data

# about this MediaWiki instance. The Wikimedia Foundation shares this data

# with MediaWiki developers to help guide future development efforts.

$wgPingback = true;

# Site language code, should be one of the list in ./languages/data/Names.php

$wgLanguageCode = "en";

# Time zone

$wgLocaltimezone = "Europe/Berlin";

## 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 = "secret";

# 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 = "secret";

## 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 = "";

$wgRightsText = "";

$wgRightsIcon = "";

# Path to the GNU diff3 utility. Used for conflict resolution.

$wgDiff3 = "/usr/bin/diff3";

# The following permissions were set based on your choice in the installer

$wgGroupPermissions['*']['createaccount'] = false;

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

## Default skin: you can change the default skin. Use the internal symbolic

## names, e.g. 'vector' or 'monobook':

$wgDefaultSkin = "vector";

# Enabled skins.

# The following skins were automatically enabled:

wfLoadSkin( 'MinervaNeue' );

wfLoadSkin( 'MonoBook' );

wfLoadSkin( 'Timeless' );

wfLoadSkin( 'Vector' );

# 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' );

# End of automatically generated settings.

# Add more configuration options below.

// Safe IP or not (for bypassing external login via AD)

$safeIPs = array('','localhost');


foreach ($ipsVars as $ipsVar) {

if (isset($_SERVER[$ipsVar]) && mb_strlen($_SERVER[$ipsVar]) > 3 ) { $wikiRequestIP = $_SERVER[$ipsVar]; break; }


$wikiRequestSafe = ( isset($wikiRequestIP ) && ( in_array($wikiRequestIP,$safeIPs) ));

// Create Wiki-Group 'engineering' from default user group

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

// Private Wiki. External LDAP login. Default NS requires login.

$wgEmailConfirmToEdit = false;

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

$wgGroupPermissions['*']['read'] = false;

$wgGroupPermissions['*']['createaccount'] = false;

$wgGroupPermissions['sysop']['createaccount'] = true;

$wgGroupPermissions['*']['autocreateaccount'] = true;

$wgBlockDisablesLogin = true;

// Load LDAP Config from JSON

$ldapJsonFile = "$IP/ldap.json";

$ldapConfig = false;

if (is_file($ldapJsonFile) && is_dir("$IP/extensions/LDAPProvider")) {

  $testJson = @json_decode(file_get_contents($ldapJsonFile),true);

  if (is_array($testJson)) {

   $ldapConfig = true;

  } else {

   error_log("Found invalid JSON in file: $IP/ldap.json");



// Activate Extension

if ( $ldapConfig ) {

  wfLoadExtension( 'PluggableAuth' );

  wfLoadExtension( 'LDAPProvider' );

  wfLoadExtension( 'LDAPAuthentication2' );

  wfLoadExtension( 'LDAPAuthorization' );

  wfLoadExtension( 'LDAPUserInfo' );

  wfLoadExtension( 'LDAPGroups' );

  $LDAPProviderDomainConfigs = $ldapJsonFile;

  $wgPluggableAuth_ButtonLabel = "Log In";

  // Force LDAPGroups to sync by choosing a domain (e.g. first JSON object in ldap.json)

  $LDAPProviderDefaultDomain = "LDAP";

  if ($wikiRequestSafe) { $LDAPAuthentication2AllowLocalLogin = true; }


Best regards


Reply to "The supplied credentials could not be authenticated."

MediaWiki runtime error:: No such service: HookContainer

Ewaszkow (talkcontribs)

I have installed the very latest mediawiki 1.38.2 and I am running PHP version 8.0.13 under RedHat Linux 9. When I try to run MediaWiki on any brower AND when I try to run php update.php in the /maintenence directory, I get the following error.

PHP Fatal error:  Uncaught Wikimedia\Services\NoSuchServiceException: No such service: HookContainer in /export/mediawiki-1.38.2/vendor/wikimedia/services/src/ServiceContainer.php:468

Stack trace:

#0 /export/mediawiki-1.38.2/vendor/wikimedia/services/src/ServiceContainer.php(416): Wikimedia\Services\ServiceContainer->createService()

#1 /export/mediawiki-1.38.2/includes/MediaWikiServices.php(294): Wikimedia\Services\ServiceContainer->getService()

#2 /export/mediawiki-1.38.2/includes/MediaWikiServices.php(1024): MediaWiki\MediaWikiServices->getService()

#3 /export/mediawiki-1.38.2/includes/MediaWikiServices.php(282): MediaWiki\MediaWikiServices->getHookContainer()

#4 /export/mediawiki-1.38.2/includes/exception/MWExceptionHandler.php(130): MediaWiki\MediaWikiServices::getInstance()

#5 /export/mediawiki-1.38.2/includes/exception/MWExceptionHandler.php(201): MWExceptionHandler::rollbackPrimaryChangesAndLog()

#6 /export/mediawiki-1.38.2/includes/exception/MWExceptionHandler.php(170): MWExceptionHandler::handleException()

#7 [internal function]: MWExceptionHandler::handleUncaughtException()

#8 {main}

  thrown in /export/mediawiki-1.38.2/vendor/wikimedia/services/src/ServiceContainer.php on line 468


Bawolff (talkcontribs)
Ewaszkow (talkcontribs)

YES... all errors are ON.

I added the following to /etc/php.ini and LocalSettings.php

ini_set( 'display_startup_errors' , 1 );

ini_set( 'display_errors, 1 );

error_reporting ( -1 );

The same errors I pasted above are showing up in my console window as well as in the web browser when I try to access my wiki.

What specifically should I be looking for? Another log file somewhere?

Bawolff (talkcontribs)
Ewaszkow (talkcontribs)

I did find the error log file and it contains the very same error I have pasted above.

I don't know much about the /vendor/wikimedia/services / ServiceContainer.php and HookContainers.. is there a way I can reinstall this? Can this be installed individually or is this part of the core mediawiki package?

Bawolff (talkcontribs)

You can reinstall anything in the vendor directory by running composer update. You can also just reinstall mediawiki (follow the instructions for upgrading, just for same version).

That said i suspect that the vendor dependency is not the problem. If you have a mix of different versions of mediawiki, that might lead to something like this.

Reply to "MediaWiki runtime error:: No such service: HookContainer"

Orphaned pages: How to update which pages are shown in Special:LonelyPages?

Ulf Dunkel (talkcontribs)

In my wiki, I currently see 214 pages listed in Special:LonelyPages (which is titled "Orphaned pages").

But almost all of these 214 pages are linked from or transcluded into other pages in my wiki.

Is there any way to update which pages are shown here?

Bawolff (talkcontribs)

So if $wgMiserMode is false (default) this should be updated instantly (and in which case you are probably mistaken about thepage not meeting criteria). If it is true, you need to run updateSpecialPages.php

Ulf Dunkel (talkcontribs)

@Bawolff: Thank you for your recommendation, although it didn't solve my issue. In my CommonSettings.php (for all my interwiki instances) and all my LocalSettings.php files, $wgMiserMode wasn't defined explicitely, so it will be false (default).

I even added it as $wgMiserMode = false; to my CommonSettings.php and ran /maintenance/updateSpecialPages.php. That script listed "Lonelypages [QueryPage] got 214 rows in 0.04s" (beside others). The special page hasn't changed its content.

Any other idea?

Bawolff (talkcontribs)

Most likely they meet mediawiki's definition of a lonelypage, which might differ from what intuitively you think it is.

Ulf Dunkel (talkcontribs)

The definition of a lonelypage seems to be consistent in all MediaWiki instances: "The following pages are not linked from or transcluded into other pages in MediaWiki." I checked the orphaned pages listed on my wiki to and fro - they all are linked from or transcluded into other pages in my wiki.

Any other idea?

Bawolff (talkcontribs)

its possible links table is inconsistent. You could run refreshLinks.php (might be slow)

Ulf Dunkel (talkcontribs)

I ran refreshLinks.php now and received errors for almost each of the checked links, like this:

PHP Notice: Trying to access array offset on value of type null in /var/www/vhosts/ on line 100

PHP Notice: Trying to access array offset on value of type null in /var/www/vhosts/ on line 99

PHP Notice: Trying to access array offset on value of type null in /var/www/vhosts/ on line 101

My wiki version is 1.32.2. Should I try an upgrade to a more recent version of the wiki first of all?

Ulf Dunkel (talkcontribs)

I fixed the SectionProfiler.php by changing lines 99-101 into

if ( (!$this->start) && (!$this->end) )
   $totalCpu = $totalReal = $totalMem = 0;
   $totalCpu = max( $this->end['cpu'] - $this->start['cpu'], 0 );
   $totalReal = max( $this->end['real'] - $this->start['real'], 0 );
   $totalMem = max( $this->end['memory'] - $this->start['memory'], 0 );

The script then ran through without any error, but also without fixing any illegal entries from the links table.

Reply to "Orphaned pages: How to update which pages are shown in Special:LonelyPages?"
Justman10000 (talkcontribs)

With the extension DataDump this error appears at php maintenance/update.php:

Creating data_dump table...Wikimedia\Rdbms\DBQueryError from line 1606 of /home/web/mediawiki/includes/libs/rdbms/database/Database.php: Error 42601: ERROR:  syntax error at or near "`" LINE 2:  `dumps_completed` INT(1) NOT NULL,

Malyacko (talkcontribs)
Justman10000 (talkcontribs)

Hmm, it seems like DataDump is designed for MySQL/MariaDB only! Here the file that causes the error...

Justman10000 (talkcontribs)

I have now transferred everything from MySQL to PostgreSQL using SQLines! Except for this content:

ALTER TABLE /*$wgDBprefix*/data_dump MODIFY COLUMN dumps_size BIGINT unsigned NOT NULL DEFAULT 0;

SQLines doesn't do anything about it, and PostgreSQL doesn't accept it either

Justman10000 (talkcontribs)
Reply to "SQL Error"
Usernamekiran (talkcontribs)

Hell. I am running a bot on mrwiki since last few months. I tried to run another bot (different account) on enwiki. Under some particular scenarios, I can edit on enwiki from toolforge successfully. But under some scenarios, I get the error '''no fallback key found in lookup dict for en'''. I went through the comments of the source code of but it did not make much sense. What is the exact meaning/reason of this error? Thanks a lot in advance. Usernamekiran (talk) 16:57, 25 September 2022 (UTC)

Reply to "no fallback key"
Justman10000 (talkcontribs)

The extension UserGroups does not react. Data on my wiki, found in the bottom thread of an answer

Malyacko (talkcontribs)

See "Post a new question" in the sidebar what to provide *here*, plus describe which steps to perform plus what "does not react" mean. Thanks.

Justman10000 (talkcontribs)


I already wrote:

Data on my wiki, found in the bottom thread of an answer

Malyacko (talkcontribs)

If you ask for help it would be a nice courtesy to readers to not make them have to click through random things and try to find other posts by you first.

Justman10000 (talkcontribs)
Justman10000 (talkcontribs)

I've already fixed a bug! The other is that group rights are not inherited...

Reply to "UserGroups not react"

how to transclude automatically the translated page

Wladek92 (talkcontribs)

If I want to transclude a translated subpage I can write:


to transclude Special:MyLanguage/User:Wladek92/save/doc/fr for example but I only get the link to this page as => Special:MyLanguage/User:Wladek92/save/doc .

How can I make the transclusion effective ?

Christian 🇫🇷 FR (talk) 08:37, 25 September 2022 (UTC)

Bawolff (talkcontribs)

Not all special pages are transcludable.

You can sort of do something equivalent using the int: prefix for things in the MW namespace, but its hacky.

Reply to "how to transclude automatically the translated page"

Getting the page tools and personal tools for a skin

ArrakisMiner (talkcontribs)

I'm trying to create a skin in PHP for my wiki, and I'm having issues with getting the page tools (edit, view, history etc) and the user tools (login, watch, talk, contribs etc) to display properly. I've taken a look at some of the skins around, and it seems that the best way, and recommended way, to do this is via this snipped:

$personalTools = $this->getPersonalTools();
foreach ( $personalTools as $key => $item ) {
echo $this->makeListItem( $key, $item );

And for the namespace tools:

$pageNav = $this->data['content_navigation'];
foreach ( $pageNav['namespaces'] as $key => $tab ) {
echo $this->makeListItem( $key, $tab );

This is causing me issues, however, and both variants of the code, for either the page tools or the user tools, display in the top left of the screen and at the top of the skin code (when viewed in Inspect Element) irregardless of where they're placed in the code — how do I get them to respect the div they're placed into and not go to the top left of the page?

TheDJ (talkcontribs)

echo outputs wherever the output position currently is. Perhaps you need to concatenate to a previously generated string variable ? It really depends. Its issues like these which are why we are switching to a mustache template based architecture for skins btw.

ArrakisMiner (talkcontribs)

Hmm, maybe, I'm following the code here and here respectively, so I'm not entirely sure what I'm doing differently?

Reply to "Getting the page tools and personal tools for a skin"

"Passwords must be at least 10 characters" even though I have an 8 character password policy

Vicarage (talkcontribs)

Mediawiki 1.35.0, LocalSettings.php has

$wgPasswordPolicy['policies']['default']['MinimalPasswordLength'] = 8;

But when I try to change my (administrator account) password, I get the red text 'Passwords must be at least 10 characters', and it won't accept the 8 character password I want

Ammarpad (talkcontribs)

That is the 'default' only as the name suggests. Any more specific policy will override it. You're being asked for 10 because that's the requirement for users in 'sysop' group. You must to change it there too: $wgPasswordPolicy['policies']['default']['MinimalPasswordLength'] = 8;. If you're in interface-admin or bureaucrat groups you must also change it for each group.

Vicarage (talkcontribs)

That occurred to me, though its hardly obvious, as a default I specify should override something set inside code so I added the lines to correspond to Special:ActiveUsers

$wgPasswordPolicy['policies']['default']['MinimalPasswordLength'] = 8; $wgPasswordPolicy['policies']['administrator']['MinimalPasswordLength'] = 8; $wgPasswordPolicy['policies']['interface administrator']['MinimalPasswordLength'] = 8; $wgPasswordPolicy['policies']['bureaucrat']['MinimalPasswordLength'] = 8;

And nothing changed. I even added sysop, in case that was some daft hidden group

Only by editing includes/DefaultSettings.php and changing all the 10s to 8s did I manage to beat it into submission. Grrrr

Bawolff (talkcontribs)

$wgPasswordPolicy['policies'] = [ 'default' => ['MinimalPasswordLength' => 8]];

Alternatively, you can put var_dump( $wgPasswordPolicy); die(); at the very end of LocalSettings.php to figure out the final value and see if its what you expect.

Ammarpad (talkcontribs)

There's no group 'administrator', so that line would not do any anything. The canonical name of the group is 'sysop'. You're not supposed to edit DefaultSettings.php. You better copy the relevant lines to LocalSettings.php

Vicarage (talkcontribs)

Basic information

Username:John: Member of groups:Administrators, Autoconfirmed users, Bureaucrats, Interface administrators, Users

No sign of sysop here

$wgPasswordPolicy['policies'] = [ 'default' => ['MinimalPasswordLength' => 12];

makes my system lock up. I will stick with editing includes/DefaultSettings.php and moaning

TheDJ (talkcontribs)

"No sign of sysop here"

Sysop is the technical name of the administrators group in the software. The 'human' name value of it is "Administrator". This fact is arguably so well hidden in the interface these days, that it is hard to know if you don't know about the old name. A place where you can still see it is in the url of list users: Special:ListUsers/sysop

$wgPasswordPolicy['policies'] = [ 'default' => ['MinimalPasswordLength' => 12];

[] need to be balanced. you are missing a ] at the end there.

Vicarage (talkcontribs) (talkcontribs)

Maybe you solved this by now but if someone else struggle with this like I did today, here's what worked for me (added to LocalSettings.php):

## Change MinimalPasswordLength

$wgPasswordPolicy['policies']['default']['MinimalPasswordLength'] = 8;

$wgPasswordPolicy['policies']['sysop']['MinimalPasswordLength'] = 8;

$wgPasswordPolicy['policies']['interface-admin']['MinimalPasswordLength'] = 8;

$wgPasswordPolicy['policies']['bureaucrat']['MinimalPasswordLength'] = 8;

KHFischbach (talkcontribs)


I yesterday installed a local copy of mediawiki and have the same problem as @Vicarage. I have set the the dump as recommended by @Bawolff. Result is:

array(2) {  ["policies"]=>  array(5) {    ["bureaucrat"]=>    array(2) {      ["MinimalPasswordLength"]=>      int(6)      ["MinimumPasswordLengthToLogin"]=>      int(1)    }    ["sysop"]=>    array(2) {      ["MinimalPasswordLength"]=>      int(6)      ["MinimumPasswordLengthToLogin"]=>      int(1)    }    ["interface-admin"]=>    array(2) {      ["MinimalPasswordLength"]=>      int(10)      ["MinimumPasswordLengthToLogin"]=>      int(1)    }    ["bot"]=>    array(2) {      ["MinimalPasswordLength"]=>      int(10)      ["MinimumPasswordLengthToLogin"]=>      int(1)    }    ["default"]=>    array(5) {      ["MinimalPasswordLength"]=>      int(6)      ["PasswordCannotBeSubstringInUsername"]=>      array(2) {        ["value"]=>        bool(true)        ["suggestChangeOnLogin"]=>        bool(true)      }      ["PasswordCannotMatchDefaults"]=>      array(2) {        ["value"]=>        bool(true)        ["suggestChangeOnLogin"]=>        bool(true)      }      ["MaximalPasswordLength"]=>      array(2) {        ["value"]=>        int(4096)        ["suggestChangeOnLogin"]=>        bool(true)      }      ["PasswordNotInCommonList"]=>      array(2) {        ["value"]=>        bool(true)        ["suggestChangeOnLogin"]=>        bool(true)      }    }  }  ["checks"]=>  array(6) {    ["MinimalPasswordLength"]=>    string(48) "PasswordPolicyChecks::checkMinimalPasswordLength"    ["MinimumPasswordLengthToLogin"]=>    string(55) "PasswordPolicyChecks::checkMinimumPasswordLengthToLogin"    ["PasswordCannotBeSubstringInUsername"]=>    string(62) "PasswordPolicyChecks::checkPasswordCannotBeSubstringInUsername"    ["PasswordCannotMatchDefaults"]=>    string(54) "PasswordPolicyChecks::checkPasswordCannotMatchDefaults"    ["MaximalPasswordLength"]=>    string(48) "PasswordPolicyChecks::checkMaximalPasswordLength"    ["PasswordNotInCommonList"]=>    string(50) "PasswordPolicyChecks::checkPasswordNotInCommonList"  } }

From my perspective it shows the param is set and accepted.

But still, when trying to change the password for a user (the only user created as admin during setup), i get the message the minimum password length is 10.

$wgPasswordPolicy['policies']['default']['MinimalPasswordLength'] = 6;

$wgPasswordPolicy['policies']['bureaucrat']['MinimalPasswordLength'] = 6;

$wgPasswordPolicy['policies']['sysop']['MinimalPasswordLength'] = 6;

Any idea why this happens?




when writing the reply I reconcnized the user created during setup might be of role "interface-admin" (makes sense). I added this to the params and now it works for the user where I tested it.

Reply to ""Passwords must be at least 10 characters" even though I have an 8 character password policy"

Excess paragraphs (<p>) on pages

Mukilol (talkcontribs)

Hey! I have had issues with excess paragraphs on my wiki for months. Initially I tried to solve it with CSS but was unable to do so due to how random the content structure can be and thought about asking for help here instead.

We have a template called {{skill}} on our wiki which returns a hoverable image and text inside a div which is set to display: inline-block. Whenever this template is called, any text before and after it gets wrapped in paragraph tags which results in a minimum of 3 rows when it should be 1. This was not always the case and was probably introduced with an upgrade but I can't say for sure.

As a hacky workaround for this we are currently placing all content in lists where the {{skill}} template is used, this prevents the excess paragraphs and makes everything inline.

Has anyone experienced anything like this or knows what could be causing it?

AhmadF.Cheema (talkcontribs)

The {{skill}} template, does it have extra newlines in its beginning or end?

Mukilol (talkcontribs)

The includeonly within that template has no newlines, the noinclude has a few though.

AhmadF.Cheema (talkcontribs)

Are there any between the includeonly and noinclude tags?

Note that even starting the noinclude tags on the next line might cause the template to render with extra newlines. It's better to type the opening noinclude tag on the same line, directly after the previous closing includeonly tag.

Mukilol (talkcontribs)

They are at the same line right now, there are no spaces/newlines at the start, end or between. Would it help if I post a link to the template here? Not sure if it's allowed.

Ciencia Al Poder (talkcontribs)

Yes, please, a link would help

Mukilol (talkcontribs)

I managed to fix the problem which was that the content inside {{skill}} was within a div and MediaWiki decided that everything before and after that should be in separate paragraphs. I changed from div to span and it worked. I initially had display:inline-block on the div but that didn't make any difference.

Ciencia Al Poder (talkcontribs)

This usually happens when you have several div on separate lines:


And can be solved by removing the line break between div:



--><div>something</div> (talkcontribs)

Had the exact same issue, replacing div with span worked, thanks!

And the template did not have a single line break in it, it's just a single line, so that is most definitely not the issue, mediawiki for some reason just seems to wrap everything before and after a div in paragraphs.

Reply to "Excess paragraphs (<p>) on pages"