Open main menu

Project:Support desk

About this board

Welcome to MediaWiki.org's Support desk, where you can ask MediaWiki questions!

There are also other places where to ask :

Before you post

Post a new question

  1. To help us answer your questions, please always indicate which versions you are using (reported by your wiki's Special:Version page):
    • MediaWiki
    • PHP
    • Database
  2. Please include the URL of your wiki unless you absolutely can't. It's often a lot easier for us to identify the source of the problem if we can look for ourselves.
  3. To start a new thread, click "Start a new topic".
Previous page history was archived for backup purposes at Project:Support_desk/old on 2015-07-30.
Other languages: English  العربية čeština Esperanto français 日本語 中文
Aranamarunda (talkcontribs)

Hello all!

I'm having a lot of trouble activating my mediawiki. I'm at a loss at what I am doing wrong. I am getting the following message:


MediaWiki 1.32 requires at least PHP version 5.5.9 or HHVM version 3.18.5, you are using PHP 5.3.10-1ubuntu3.26.


But when I go to my webhosting and open the info.php, it says version 7.0 is active. I emptied my browser hsitory, cache, everything. I uploaded through dreamweaver and filezilla but got the same results. What can I do to get my wiki going?

Reply to "PHP displayed incorrectly?"
Brunodapei (talkcontribs)

Hello.

i would like to share a mediawiki installation on several different domains.

i tried following the instruction in Manual:Wiki family but i can't understand what i have to do after the pont number 5: "Installing a new wiki in the family is a matter of creating the database and importing the database template, and then running php maintenance/update.php --wiki=wikiId. "

what i have to install in the different domains?

thank you

Bawolff (talkcontribs)

There's a lot of ways to set this up, but basically, run the installer for each of your domains, giving each of your domains a separate database. You can either use rewrite rules/aliases/etc to have all your domains hit the same MediaWiki install (And detect in LocalSettings.php which virtual host you are at) or you can use entirely separate installs for each.

Brunodapei (talkcontribs)

thank you very much.

my sites are on a shared server and i can't use symbolic link to the folders where mediawiki is installed on another domain.

what kind of rewrite rules/aliases may i use?

HSRobinson (talkcontribs)
Bawolff (talkcontribs)

In the worst case, you can just have multiple copies of MediaWiki

Reply to "How to set up a Wiki family?"
Tviv54 (talkcontribs)

I have installed mediawiki 1.33.1 and working fine without LDAP. I try to do login using LDAP authentication. I have installed Auth_remoteuser, LDAPAuthentication2, LDAPAuthorization, LDAPProvider, LDAPUserInfo and PluggableAuth.   Please help me to do the configuration and autoauth using LDAP.


Here are the my Virtual host configuration details

<VirtualHost *:9004>
    ServerName localhost
    ServerAlias localhost
    DocumentRoot "${INSTALL_DIR}/www/mediawiki-1-33-1" 
    <Directory "${INSTALL_DIR}/www/mediawiki-1-33-1">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
    AuthName "My Intranet"
    AuthType SSPI 
    SSPIAuth On 
    SSPIAuthoritative On
    SSPIDomain MyDomainName
    SSPIOmitDomain On
    SSPIOfferBasic On
    #SSPIBasicPreferred On
    #SSPIofferSSPI On
    require valid-user
    require user "NT AUTHORITY\ANONYMOUS LOGON" denied 
   </Directory>
</VirtualHost>


Here are the my Localsettings details

       $wgCookieSecure = false; 
       wfLoadExtensions([  'PluggableAuth',
         'Auth_remoteuser',
         'LDAPProvider',
         'LDAPAuthentication2',
         'LDAPAuthorization',
         'LDAPUserInfo'
 ]);
  $LDAPAuthorizationAutoAuthRemoteUserStringParser = 'username-at-domain';
  $LDAPAuthentication2UsernameNormalizer = 'strtolower';
  $LDAPAuthentication2AllowLocalLogin = false;
  $wgAuthRemoteuserAllowUserSwitch = true;
  $wgPluggableAuth_EnableLocalLogin = false;
 $wgAuthRemoteuserUserName = function() {
 $user = '';
 if( isset( $_SERVER[ 'REMOTE_USER' ] ) ) {
    echo $user = strtolower( $_SERVER[ 'REMOTE_USER' ] ); // Returns my remote user name
 }
 return $user;
};
$LDAPProviderDomainConfigProvider = function() {
$config = [
 'company.local' => [
   'connection' => [
      "server" => "corp.tcc.inet",
      "options" => [
            "LDAP_OPT_DEREF" => 1
      ],
      "basedn" => "o=Company",
      "groupbasedn" => "o=Company",
      "userbasedn" => "o=Company",
      "searchattribute" => "uid",
      "usernameattribute" => "uid",
      "realnameattribute" => "fullname",
      "emailattribute" => "mail",
      "grouprequest" => "MediaWiki\\Extension\\LDAPProvider\\UserGroupsRequest\\GroupMember::factory"
  ],
  'authorization' => [
     'rules' => [
        'groups' => [
           'required' => [
              'cn=WikiAccess,ou=Groups,o=Company'
            ]
         ]
      ]
  ],
 'userinfo' => [
        'attributes-map' => [
           'email' => 'mail',
           'realname' => 'fullname'
        ]
  ]
 ]
];
return new \MediaWiki\Extension\LDAPProvider\DomainConfigProvider\InlinePHPArray( $config );
};
Kking01 (talkcontribs)

Were you able to get this to work? I am having the same issue with the config. I was able to get it to return my full name from the table, but still wouldn't connect to Active Directory to login.

MarkAHershberger (talkcontribs)

@Kking01 what have you tried? Does your single sign on work outside of MW?

@Tviv54 How does your current configuration behave?

Kking01 (talkcontribs)

@MarkAHershberger Yes All single sign on works. We have quite a few other things that use LDAP and all work fine. This is an older instance of Mediawiki that I have upgraded through the years. I just pushed it from 1.29 to 1.33, and all plugins functioned correctly except for the LdapAuthentication. This is why I switched to use the LdapHub migration. Way more involved as it uses 6 plugins instead of just the one. I just maybe doing something wrong.

Tviv54 (talkcontribs)

$_SERVER[ 'REMOTE_USER' ] - Return my name from the Active directory.

My current configuration is not working properly. I tried with my windows user credential but Login attempt failed and returns "There seems to be a problem with your login session; this action has been canceled as a precaution against session hijacking. Please resubmit the form."


Reply to "Auto authentication using LDAP"

After upgrading to 1.33.1, the "l10n_cache" table is 783M, what is the problem?

3
45.135.186.39 (talkcontribs)

I just upgraded my website from 1.27.1 to 1.33.1, then size of the database reached over 800M, but my site is definitely not so big, I just checked the "l10n_cache" table alone is 783M, so what is the function of this table? how to reduce it?

Moonriverzf (talkcontribs)

Manual:L10n cache table

I found this link, so the content within this table could be deleted manually, without effecting the execution of the whole database?

Ciencia Al Poder (talkcontribs)

Yes, you can truncate this table, and the contents will be regenerated.

Reply to "After upgrading to 1.33.1, the "l10n_cache" table is 783M, what is the problem?"
Seehausen (talkcontribs)

I have a question: Is it possible to show the recent changes only for the current page and not for the subpages and how you do it?

I tried the feature Recent Changes but it shows all of the changes in the whole wiki and the related changes show just the changes of links on that page.


I just want to have a recent activity feed for changes that occur on the page the user is on and neither for the whole wiki nor for links or subpages. I would appreciate any help.

Best regards.

Gustave London (talkcontribs)

You add this page in the your watchlist.

Seehausen (talkcontribs)

No, i want in general to show a recent changes feed just of the current page in the upper part on the current page and not user-dependent.


Let´s say i want to include {{ Special:RecentChanges }} , but just showing the recent changes section of the page where i included it and not showing recent changes of the whole wiki.

Is that possible somehow?

Ciencia Al Poder (talkcontribs)

You want to show the page history, not recent changes.

There's no magic word to do that. I don't know if there's an extension to do that. With JavaScript, you can query the API:Revisions to get the info you want and insert it anywhere on the page. Of course, that needs coding skills.

Reply to "Show recent page changes on a page"

Restrict $wgWhitelistRead by group membership possible?

6
91.42.115.186 (talkcontribs)

I have created a group that can only edit and view a single page. The page call is enabled by $wgWhitelistRead. This also allows anonymous users to read the page. Is it possible to create an if query for registered users in localsettings.php, so that only registered users see the website? Or is there a better way for my purpose?

Ciencia Al Poder (talkcontribs)

I think this can only be done with Extension:Lockdown. However, have in mind that MediaWiki hasn't been built with view restrictions in mind and someone could potentially leak the contents of such hidden pages with various methods.

MarkAHershberger (talkcontribs)

Is it possible to create an if query for registered users in localsettings.php, so that only registered users see the website? Or is there a better way for my purpose?

Yes, see $wgGroupPermissions and, specifically, restricting the "read" permission to the "user" group.
Ciencia Al Poder (talkcontribs)

But what the op wants is a bit more complicated: nobody can see anything, and registered users can edit and read 1 page, where admins (I suppose) have no restrictions. Or at least that's what I understood.

91.42.115.186 (talkcontribs)

Yes, that's exactly what I meant.

Ciencia Al Poder (talkcontribs)

You probably want to use a different software for this. I don't think MediaWiki is suitable for this purpose.

Reply to "Restrict $wgWhitelistRead by group membership possible?"
Omg nginx (talkcontribs)

Hi

I've set up a MediWiki Family, including the StopForumSpam extension.

Two questions

- Do I need to run the updateBlacklist.php script for the extension to Work?

- When I run the script, it outputs

Starting...

Done!

Took 2.4573900699615 seconds

-> After the execution, I would expect some entries in the ipblocks table, but it is empty. Is this correct (is my expectation wrong) or did I do something wrong?


Thanks!

Nic

Ciencia Al Poder (talkcontribs)

No. The list is saved in object cache, those IP aren't immediately blocked. Only when they try to edit.

Omg nginx (talkcontribs)

Ok, thank you.

Does it makes sense to share the objectcache table for a wiki family? Or will it mess things up?

Ciencia Al Poder (talkcontribs)

It's possible to share it, all keys should prefix the database domain id (usually dbname) except global keys like this one that don't.

With several wikis, it's better if you use memcached or redis instead of the database as cache.

Reply to "updateBlacklist.php - Really done?"
2610S (talkcontribs)

I get this error when trying to change email, or confirm email.

What should I do ?

MarkAHershberger (talkcontribs)
2610S (talkcontribs)

@MarkAHershberger I get a long page with details that I don't know what to do about it.

I'am copying the page (XXX instead of private information)


[Xcub4krQOu4AATR58dUAAAAM] /index.php?title=XXX MWException from line 4237 of /homepages/32/XXX/htdocs/XXX/mediawiki-1.32.2/includes/user/User.php: CAS update failed on user_touched. The version of the user to be saved is older than the current version.

Backtrace:

#0 /homepages/32/XXX/htdocs/XXX/mediawiki-1.32.2/includes/libs/rdbms/database/Database.php(3815): User->{closure}(Wikimedia\Rdbms\DatabaseSqlite, string)

#1 /homepages/32/XXX/htdocs/XXX/mediawiki-1.32.2/includes/user/User.php(4250): Wikimedia\Rdbms\Database->doAtomicSection(string, Closure)

#2 /homepages/32/XXX/htdocs/XXX/mediawiki-1.32.2/includes/user/User.php(4692): User->saveSettings()

#3 /homepages/32/XXX/htdocs/XXX/mediawiki-1.32.2/includes/user/User.php(3123): User->sendConfirmationMail(string)

#4 /homepages/32/XXX/htdocs/XXX/mediawiki-1.32.2/includes/specials/SpecialChangeEmail.php(176): User->setEmailWithConfirmation(string)

#5 /homepages/32/XXX/htdocs/XXX/mediawiki-1.32.2/includes/specials/SpecialChangeEmail.php(127): SpecialChangeEmail->attemptChange(User, string)

#6 /homepages/32/XXX/htdocs/XXX/mediawiki-1.32.2/includes/htmlform/HTMLForm.php(665): SpecialChangeEmail->onSubmit(array, OOUIHTMLForm)

#7 /homepages/32/XXX/htdocs/XXX/mediawiki-1.32.2/includes/htmlform/HTMLForm.php(557): HTMLForm->trySubmit()

#8 /homepages/32/XXX/htdocs/XXX/mediawiki-1.32.2/includes/htmlform/HTMLForm.php(572): HTMLForm->tryAuthorizedSubmit()

#9 /homepages/32/XXX/htdocs/XXX/mediawiki-1.32.2/includes/specialpage/FormSpecialPage.php(184): HTMLForm->show()

#10 /homepages/32/XXX/htdocs/XXX/mediawiki-1.32.2/includes/specials/SpecialChangeEmail.php(61): FormSpecialPage->execute(NULL)

#11 /homepages/32/XXX/htdocs/XXX/mediawiki-1.32.2/includes/specialpage/SpecialPage.php(569): SpecialChangeEmail->execute(NULL)

#12 /homepages/32/XXX/htdocs/XXX/mediawiki-1.32.2/includes/specialpage/SpecialPageFactory.php(568): SpecialPage->run(NULL)

#13 /homepages/32/XXX/htdocs/XXX/mediawiki-1.32.2/includes/MediaWiki.php(288): MediaWiki\Special\SpecialPageFactory->executePath(Title, RequestContext)

#14 /homepages/32/XXX/htdocs/XXX/mediawiki-1.32.2/includes/MediaWiki.php(860): MediaWiki->performRequest()

#15 /homepages/32/XXX/htdocs/XXX/mediawiki-1.32.2/includes/MediaWiki.php(517): MediaWiki->main()

#16 /homepages/32/XXX/htdocs/XXX/mediawiki-1.32.2/index.php(42): MediaWiki->run()

#17 {main}


Debug data:

  • IP: XXX.XX.XXX.XXX
  • Start request POST /index.php?title=XXXHTTP HEADERS:HOST: XXX.XXX.comCONTENT-LENGTH: 454CACHE-CONTROL: max-age=0ORIGIN: http://XXX.XXX.comUPGRADE-INSECURE-REQUESTS: 1CONTENT-TYPE: application/x-www-form-urlencodedUSER-AGENT: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.2804.97 Safari/537.36ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,image/png,image/apng,*/*;q=0.8,application/signed-exchange;v=b3REFERER: http://XXX.XXX.com/index.php?title=XXXACCEPT-ENCODING: gzip, deflateACCEPT-LANGUAGE: en-UK,en;q=0.9,en-US;q=0.8,en;q=0.7COOKIE: my_wiki_session=XXX; my_wikiUserID=1; my_wikiUserName=XXX; my_wikiToken=XXX
  • [caches] cluster: EmptyBagOStuff, WAN: mediawiki-main-default, stash: db-replicated, message: SqlBagOStuff, session: SqlBagOStuff
  • [caches] LocalisationCache: using store LCStoreDB
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::openConnection: calling initLB() before first connection.
  • [DBReplication] Cannot use ChronologyProtector with EmptyBagOStuff.
  • [DBReplication] Wikimedia\Rdbms\LBFactory::getChronologyProtector: using request info {"IPAddress": "XXX.XX.XXX.XXX","UserAgent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/78.0.2804.97 Safari\/537.36","ChronologyProtection": false,"ChronologyPositionIndex": 0,"ChronologyClientId": null}
  • [DBConnection] Wikimedia\Rdbms\LoadBalancer::openLocalConnection: connected to database 0 at 'localhost'.
  • User: cache miss for user 1
  • [ContentHandler] Created handler for wikitext: WikitextContentHandler
  • MediaWikiGadgetsDefinitionRepo::fetchStructuredList: MediaWiki:Gadgets-definition parsed, cache entry should be updated
  • User: loading options for user 1 from database.
  • [SQLBagOStuff] SqlBagOStuff: connecting to [unknown]
  • [SQLBagOStuff] Connection SQLite 3.28.0 will be used for SqlBagOStuff
  • User::getBlockedStatus: checking...
  • User: loading options for user 1 from override cache.
  • [MessageCache] MessageCache::load: Loading he... local cache is empty, global cache is expired/volatile, loading from database
  • Unstubbing $wgParser on call of $wgParser::firstCallInit from MessageCache->transform
  • Parser: using preprocessor: Preprocessor_DOM
  • Unstubbing $wgLang on call of $wgLang::_unstub from ParserOptions->__construct
  • User::getBlockedStatus: checking...
  • [authentication] MediaWiki\Auth\AuthManager::securitySensitiveOperationStatus: Checking ChangeEmail
  • [authentication] MediaWiki\Auth\AuthManager::securitySensitiveOperationStatus: ChangeEmail is ok for 'XXX'
  • [objectcache] Rejected set() for my_wiki:messages-big:0169d77dc450e5d68ffdfade720dc0be:Changeemail-text due to pending writes.
  • [MessageCache] MessageCache::load: Loading en... local cache is empty, global cache is expired/volatile, loading from database
  • [objectcache] Rejected set() for my_wiki:messages-big:f6c4f725a607bfe8fa0cf0c05ee4f470:Changeemail-text/en due to pending writes.
  • UserMailer::send: sending mail to =?UTF-8?Q?XXX?= <XX@XXXXX.COM>
  • Sending mail via internal mail() function
  • [DBQuery] startAtomic: entering level 0 (User::saveSettings)
  • [preferences] CAS update failed on user_touched for user ID '1' (replica read)
  • [DBQuery] cancelAtomic: canceling level 0 (User::saveSettings)
  • [exception] [Xcub4krQOu4AATR58dUAAAAM] /index.php?title=XXX MWException from line 4237 of /homepages/32/XXX/htdocs/XXX/mediawiki-1.32.2/includes/user/User.php: CAS update failed on user_touched. The version of the user to be saved is older than the current version.
  • User: loading options for user 1 from database.
  • User: loading options for user 1 from database.
  • User: loading options for user 1 from database.
Ciencia Al Poder (talkcontribs)

You can try to see the user_touched field of the user table and see if it has some weird value, like a date in the future, or is blank, since this can cause this issue.

2610S (talkcontribs)
Ciencia Al Poder (talkcontribs)

Create a new user, see what is its user_touched field, and update the user that's failing with that value.

Reply to "MWException error"

Transcluding specific logs from Recent Changes

1
Vishkujo (talkcontribs)

Is it possible to filter Recent Changes to only show a specific log? I want a forum feed displaying on my main page (using Extension:WikiForum) but it creates a forum log in the Special namespace (-1) rather than its own namespace. It would be better if I could just transclude the log page instead but it doesn't seem possible.

Reply to "Transcluding specific logs from Recent Changes"
Summary by MarkAHershberger

done.

RonnieV (talkcontribs)