Last modified: 2010-05-15 15:50:56 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T13013, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 11013 - Installer database driver detection needs rewriting for robustness
Installer database driver detection needs rewriting for robustness
Product: MediaWiki
Classification: Unclassified
Installer (Other open bugs)
All All
: Normal enhancement (vote)
: ---
Assigned To: Nobody - You can work on this!
: patch
Depends on: 20628
Blocks: code_quality
  Show dependency treegraph
Reported: 2007-08-21 12:47 UTC by Kagemusha
Modified: 2010-05-15 15:50 UTC (History)
1 user (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---

Incomplete patch (6.24 KB, patch)
2007-08-22 15:09 UTC, Rob Church

Description Kagemusha 2007-08-21 12:47:03 UTC
I just tried to install MediaWiki 1.10.1 on my webspace. the webspace provides PHP5 and MYSQL 5, so MediaWiki should be supported.

The install.doc says to visit the MediaWiki-Url and to fill in the form.
If I go to my MediaWiki (, it says (logically), that I have to Set up the Wiki first, so I follow the Link but the form does not appear. Instead I get this:

Checking environment...

Please include all of the lines below when reporting installation problems.

    * PHP 5.2.3 installed

the config-directory has chmod 777 and I don't know what to do.
Comment 1 Rob Church 2007-08-21 16:20:35 UTC
This sounds like a problem occurring with the database driver detection (which happens right after the PHP version is shown to the user).

Assuming you're using MySQL, you might try commenting out lines 289 through 298, and adding the line `$ourdb['mysql']['havedriver'] = 1;` underneath.
Comment 2 Rob Church 2007-08-21 16:25:49 UTC
Side note: It would be helpful if you could, at some point, run the installer having only commented out line 276, and then send us any errors which appear or which are logged in the Apache or PHP error logs - we get occasional reports of this "halting" issue, but it hasn't happened for us, so debugging it is a bit difficult.
Comment 3 Kagemusha 2007-08-22 13:35:13 UTC
first, thanks for the fast response.

I checked both possibilities and with line 276 commented out, I got another error message.
Afterwards I was looking in the board of and found out, that the dl() function is disabled.
So I found line 281:
`if (extension_loaded($compname) or dl($compname . '.' . PHP_SHLIB_SUFFIX))`

and altered it to:
`if (extension_loaded($compname))`

and the installation was successful. I hope this little change won't affect the wiki negatevily?! ^^
Comment 4 Rob Church 2007-08-22 15:07:55 UTC
r25053 alters things so that dl() isn't called if we can't detect that it's available (testing that the function exists, is callable and isn't disabled according to enable_dl or safe_mode), which should provide more graceful failure in this case.
Comment 5 Rob Church 2007-08-22 15:09:50 UTC
Created attachment 4028 [details]
Incomplete patch

Partial patch that begins to clean up most of the detection mess; moves the bulk of detection into separate includes and attempts to reduce a lot of clutter and poor code.

The patch as-is breaks various UI elements; it might be worth reimplementing a lot of the JavaScript bits here; hence I didn't commit it.
Comment 6 Rob Church 2007-08-22 15:14:42 UTC
(Incidentally, no, your hack won't have any adverse effects if things are installed fine - the dl() call is just used during installation to attempt to force the database extensions to load.)
Comment 7 Chad H. 2010-05-10 17:00:52 UTC
Not done with this patch, but the same effect is done with the new-installer being merged in r66008.

Note You need to log in before you can comment on or make changes to this bug.