Last modified: 2013-04-22 16:14:39 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 T43146, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 41146 - Fatal installer error using Oracle DB (HTTP 500 error): undefined function mb_check_encoding()
Fatal installer error using Oracle DB (HTTP 500 error): undefined function mb...
Status: RESOLVED FIXED
Product: MediaWiki
Classification: Unclassified
Database (Other open bugs)
1.19.2
All Linux
: Unprioritized critical (vote)
: ---
Assigned To: Lupo
:
Depends on:
Blocks: oracle
  Show dependency treegraph
 
Reported: 2012-10-18 03:40 UTC by Andrew Fabbro
Modified: 2013-04-22 16:14 UTC (History)
2 users (show)

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


Attachments

Description Andrew Fabbro 2012-10-18 03:40:03 UTC
Attempting to install using Oracle as the backend.  Fresh install of 1.19.2.  PHP with OCI8 is working fine in other apps.

Going through the MW installer, after submitting a configuration on the "Connect to database" page (specifying the Database TNS, Database username, etc.), clicking Continue results in an HTTP 500.

In my web server's error log I see:

PHP Fatal error:  Call to undefined function mb_check_encoding() in /var/www/wiki.example.org/includes/db/DatabaseOracle.php on line 307, referer: http://wiki.example.org/mw-config/index.php
Comment 1 Jure Kajzer 2012-10-19 06:43:42 UTC
This backend uses mb_check_encoding to make sure everything used in queries is always in the right encoding. It might be removed at some point, but for now it requires php to have mbstring enabled (i.e.: --enable-mbstring)

Hope this helps in any way ...
Comment 2 Lupo 2012-10-20 20:27:06 UTC
languages/Language.php sets mb_internal_encoding('UTF-8'), so the check in DatabaseOracle.php checks for valid UTF-8.

AFAIK, throughout the rest of MediaWiki, mbstring is always optional.

To check for valid UTF-8, DatabaseOracle.php could use the same technique as Language::checkTitleEncoding(), which uses preg_match if mb_check_encoding is not available.
Comment 3 Lupo 2012-10-31 22:35:19 UTC
Proposed fix in Gerrit: https://gerrit.wikimedia.org/r/31141

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


Navigation
Links