Topic on Project:Support desk

189.110.252.135 (talkcontribs)

Trying to install MediaWiki 1.19.7...

Can't pass the first screen (Language selection) of the Configuration Script because of PHP error:

PHP Warning: passthru() [<a href='function.passthru'>function.passthru</a>]: Unable to fork [""C:\Windows\system32\convert.exe" -version"] in E:\<hidden>\GlobalFunctions.php on line 2857

My host doesn't allow exec(), passthru() or system().

How do I install a newer MediaWiki? I know some old versions do work (eg. 1.8.5).

Thanks!

MarkAHershberger (talkcontribs)
189.110.237.8 (talkcontribs)

Thanks, nvm it was a bug... Hope they fix it in 1.19 (lts) branch too!

Perhaps, do you know the newest version that won't fails without passthru? Can I use the LocalSettings.php from an older version?

MarkAHershberger (talkcontribs)

You should be able to upgrade using an older LocalSettings.php.

I haven't looked at this in depth, so I couldn't tell you which versions work and which don't.

189.110.237.8 (talkcontribs)

Looks like 1.16.5 is the latest, it doesn't have the language selection screen; 1.17 and later seems to have changed the config script and its screens.

MarkAHershberger (talkcontribs)

Does 1.17 fail with the passthru error?

189.110.237.8 (talkcontribs)

Yes, 1.17 and later. (Tested with final releases of each branch, 1.17.5 and so on)

MarkAHershberger (talkcontribs)

Can you install with 1.16 and then upgrade?

189.110.237.8 (talkcontribs)

Will try

189.110.237.8 (talkcontribs)

Can't. Same passthru error when reach page /mw-config/?page=Welcome

MarkAHershberger (talkcontribs)

Is this on the upgrade to 1.19? You'll need to modify the source. Open includes/Installer/Installer.php and look for a line like this:

$convert = self::locateExecutableInDefaultPaths( $names, array( '$1 -version', 'ImageMagick' ) );

and change it to

$convert = null;

After that, your installer should run.

189.110.186.176 (talkcontribs)

Excellent! It fixed the installation issue!

I'm now, however, getting another error. It happens sporadically when opening one page or other, most often the main wiki page, but it seems to differ from browser to browser. The error has 2 variants:

PHP Warning:  mcrypt_create_iv() [<a href='function.mcrypt-create-iv'>function.mcrypt-create-iv</a>]:
Cannot open source device in E:\<hidden>\includes\CryptRand.php on line 285

and

PHP Fatal error:  mcrypt_create_iv() [<a href='function.mcrypt-create-iv'>function.mcrypt-create-iv</a>]:
Could not gather sufficient random data in E:\<hidden>\includes\CryptRand.php on line 285
189.110.186.176 (talkcontribs)

Tried a clean install (1.19.7) but that error is also forbidding the end of the configuration.

Some backgrounds:

- When installing using MySQL/Binary Tables, my host times out and some db tables are not created, and after a page reload 1.19 gives some errors and don't finish. When installing 1.16, the installer seems to have created the missing tables in a second retry (after the timeout), however the admin account wasn't created, but I could do it manually as explained in one FAQ.

- When installing using MySQL/UTF-8, 1.19 gives timeout too, but it seems to create all tables, however, can't finish install because of the mcrypt error.

MarkAHershberger (talkcontribs)

Easiest fix for the mcrypt error is edit includes/CryptRand.php. Look for this line:

if ( function_exists( 'mcrypt_create_iv' ) ) {

and change it to

if ( false ) {

That should let you continue.

MarkAHershberger (talkcontribs)

Also, see this bug I opened regarding your mysql installation problem.

What are the errors it prints out on reload?

189.110.243.117 (talkcontribs)

Tried another install of 1.19.7 using another table prefix inside same db...

(ENGINE=InnoDB, DEFAULT CHARSET=binary)

This time it didn't give error after the timeout (php-cgi.exe - The FastCGI process exceeded configured activity timeout) and finished without errors.

But can't browse the site, with error:

A database error has occurred. Did you forget to run maintenance/update.php after upgrading?
See: https://www.mediawiki.org/wiki/Manual:Upgrading#Run_the_update_script
Query: SELECT lc_value FROM `ond_l10n_cache` WHERE lc_lang = 'pt-br' AND lc_key = 'deps' LIMIT 1
Function: LCStore_DB::get
Error: 1146 Table '<db name>.ond_l10n_cache' doesn't exist (<the crap db server>)

My solution is to use MyISAM as engine.

(ENGINE=MyISAM, DEFAULT CHARSET=binary)

It doesn't timeout or give errors during install. It creates more tables in DB (this indicates that after the timeout using InnoDB, the installer did not create all tables it should and also didn't inform about it).

Yesterday, I installed a 1.16.5 also using MyISAM, without a single error, not even needing to modify files. How can I trust 1.19 as I don't know what other error is hidden out there?

MarkAHershberger (talkcontribs)

Could you add the information to the bug I created?

189.110.213.161 (talkcontribs)

Sorry, I'd need to register an account (I don't want another one right now).

I also don't want to become a tester for MediaWiki. Especially because it would be a hard time testing it in this uncommon server configuration that I'm using just for a work. I hope it works better for better servers.

Please add the info you think is needed there, thanks! You look like a great moderator or whatever!

Rikkrdo (talkcontribs)

@Chad H.

MyISAM is never a solution, just another problem.
If InnoDB install is broken, then use Sqlite is a far better solution. But I'm curious why it doesn't work for InnoDB.

I don't know much about MySQL and those engines (why it has more than one?), but in these tests using InnoDB gives timeout during creation of tables. Here is it saved as MHT: https://www.dropbox.com/s/t3vy3cbow6eq32r/IIS%207.0%20Detailed%20Error%20-%20500.0%20-%20Internal%20Server%20Error.mht

Why is MyISAM engine so bad? And why SQLite is better than MySQL with MyISAM?

Using SQLite, 1.19 also installed fine (with the modified files, ofc).

Reply to "Passthru()"