php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #69907 Initialization error php_mbstring.dll (Compiled with wrong Module API)
Submitted: 2015-06-23 08:14 UTC Modified: 2015-06-23 15:30 UTC
From: leon at leonidasjp dot nl Assigned: ab (profile)
Status: Closed Package: mbstring related
PHP Version: 7.0.0alpha1 OS: Windows 8.1 Pro 64 bits
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: leon at leonidasjp dot nl
New email:
PHP Version: OS:

 

 [2015-06-23 08:14 UTC] leon at leonidasjp dot nl
Description:
------------
I installed php 7.0 alpha 1, VC14, 64 bits, Thread Safe build last week and activated the php_mbstring.dll extension by uncommenting the line in php.ini.

When starting Apache (2.4) and loading phpinfo(), the mbstring-configuration does not show up, and an error log is generated with the following entry:

[23-Jun-2015 07:56:20 UTC] PHP Warning:  PHP Startup: mbstring: Unable to initialize module
Module compiled with module API=20131226
PHP    compiled with module API=20141001
These options need to match
 in Unknown on line 0

I am using the mbstring-module which is bundled in the Alpha 1 zip file. I also tried replacing it by the mbstring-module from all other Alpha 1-builds (both x86 and x64, TS and NTS), but these all generate the same error. It seems the bundled library has been mis-built...


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2015-06-23 09:25 UTC] ab@php.net
-Status: Open +Status: Feedback
 [2015-06-23 09:25 UTC] ab@php.net
It's most likely a configuration issue. You should ensure you're loading the DLL from the correct path. Also be sure you're using VC14 Apache builds. To double check it, please do the following on console while in the 7.0.0alpha1 dir

php.exe -n -d extension_dir=ext -d extension=php_mbstring.dll -m

The mbstring should appear.

Thanks.
 [2015-06-23 11:17 UTC] leon at leonidasjp dot nl
-Status: Feedback +Status: Closed
 [2015-06-23 11:17 UTC] leon at leonidasjp dot nl
The output indeed shows mbstring included in the enabled modules-list.
After altering php.ini's Extension path to "C:\php7\ext", the extension now shows up in phpinfo (thus gets loaded). Path was "./ext", what somehow did not work as intended...
 [2015-06-23 15:30 UTC] ab@php.net
-Assigned To: +Assigned To: ab
 [2015-06-23 15:30 UTC] ab@php.net
Yeah, with Apache you have to use the full path to the extension_dir. Apache will chdir() to it's own dir, so having relative path in php.ini will force the loader to look on the %path% which might be incorrect.

Thanks.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 15:01:29 2024 UTC