The mbstring extension is missing? - php

I know there's tons of topics about my problem, but I can't find a solution.
I'm using wamp and I've changed my version of PHP from 5.5.12 to 5.6.16, then when I go to localhost/phpmyadmin i have this error displayed :
Fatal error: Call to undefined function mb_detect_encoding() in
C:\wamp\apps\phpmyadmin4.1.14\libraries\php-gettext\gettext.inc on
line 177
So I update phpMyAdmin from 4.1.14 to 4.5.2.
And I have this **** error:
phpMyAdmin - Error The mbstring extension is missing. Please check
your PHP configuration.
My php.ini, phpForApache.ini is configured, I have un-commented the extension, set extension_dir to C:\wamp\bin\php\php5.6.16\ext, I stumbled on many topics/forum but none of the solution works.
Do you have any idea?

Please check #36254548
Copying the php.ini file to "wamp64\bin\apache\apache2.4.17\bin" has solved my problem.

Sometimes the extensions directory is well pointed to, the dll files have been uncommented but it still doesn't work.
The next solution to use, that is if your extensions directory is correct and dll files for the mbstring has been uncommented, then copy the php.ini file and paste it into the windows directory (i.e. C:\Windows).
You then restart your wamp/xampp and it will work.

check your php.ini file. In the extensions part of the configuration you should find:
;extension=php_mbstring.dll
remove the leading ';' to uncomment and enable the extension so it looks like this:
extension=php_mbstring.dll
restart your apache and it should work.

I faced the same issue when I start wamp, suddenly my project was not working and when I check the phpmyadmin, it gives the same above error.
My debugging process found php.ini file is missing. However I already installed two PHP versions, 5.6.19 and 7.0.4. I changed the version to 7.0.4 and then re-changed to 5.6.19. It started work.
What I guess, while changing the version, all the configuration files getting re-installed in wamp folder.

Related

php xsl extension missing magento readiness check

I'm trying to install magento on my Windows 10 system with MAMP PRO, and I have been getting the same error over and over for a while now. The magento installer says that my php xsl extension is missing. To install the extension, the manual says that I have to add the argument --with-xsl[=DIR] to my configure line but I have no idea how to do this.
I have added extension=php_xsl.dll to my php.ini file but it still isn't added. The php_xsl.dll is present in my /ext folder.
What could the issue be?
Uncomment the following line from php.ini file(remove ';' from the line)..
;extension=php_xsl.dll
in xamp/php/php.ini search and modify php.ini file, search ;extension=php_xsl.dll line, remove ; at the line start and save php.ini file. Then open xampp manager, stop Apache services and restart again.
This is because the XSL extension is not enabled.
To enable the XSL extension go to the location where the MAMP (or XAMPP) is installed. Then go to php/php.ini.
Un-comment the line extension=php_xsl.dll and restart the server.
Go to php.ini file
Change ;extension=xsl to extension=xsl
Restart your Apache xampp
First, stop apache.
Edit C:\xampp\php\php.ini
Only remove ; at the begiinning of the line extension=php_xsl.dll
Then start apache again
It will work proper.
You can solve this error simply by following these easy steps.
Stop the Apache server first
Then go to C:\xampp\php
Open php.ini file
Then uncomment all required extensions (;extension=xsl to extension=xsl)
Save it and exit
Then start xampp again and try to install
After what seemed like a million frustrating attempts, I finally came across this page and the note above. For some reason, the php.ini file in my MampPro php 7.0.9 was missing the intl and xsl dll (even though I kept uncommenting the ";"
Anyway - I saw the note above and was able to make the amends -- and voila, the issue was resolved.
I wish somehow this info was made available in php documentation and in MampPro site too. Hopefully, this won't be an issue in future patches or updates.
Go to your php root folder,
Copy all icu* * * *.dll files:
from C:\xampp\php
to C:\xampp\apache\bin
Are your other ext you've loaded in php.ini working nomarlly ?.(Try php_info())
And did you think u've download correctly .dll file.
I was installing Magento 2.1 on MAMP PRO WINDOWS (something that is not supported and not done) as a total newbie.
The same problem popped up intl en xsl extensions missing while ; was removed.
After trying everything I just looked at the php.ini location phpinfo()
C:\Users\Public\Documents\Appsolute\MAMPPRO\conf\php7.0.6.ini
Copied the php7.0.6.ini I changed on several locations an many times just into this windows directory and all my troubles were gone.
Magento is often installed on Linux. The title of this question above doesn't specify the server but the question does so I stumbled on this answer though I was looking for the Linux solution. So if anyone is looking for how to enable the xsl extension on Ubuntu, the answer is here: Enable XSL on Ubuntu 12.04
Search for php.ini in php fold and remove ; from ;extension=php_xsl.dll and you are good to go
The most upvoted answers are not telling you where to go to edit these files.
The correct path is: C:\MAMPPRO\conf\php(version number here)
Then you can remove the ; from the line extension=php_xsl.dll and restart the server.
In Installer.php line 545 error in magento 2.4.1
uncomment the following in your php.ini file by removing ";" for
;extension=intl
;extension=soap
;extension=xsl
;extension=sockets

PMA error : mbstring is missing

I am running on Windows 7 64 bit with:
Apache 2.2
PHP 5.2.8
MySQL 5.1 (essentials)
installed and configured manually. As you all know, for this since MySQL essentials has no GUI for interaction the best suit is PhpMyAdmin. I am trying to get phpMyAdmin-4.0.10.8-english, downloaded from the PMA website, into my Apache web server.
After all configuration work, now I get an error message when I try to log into PMA saying:
"The mbstring extension is missing. Please check your PHP
configuration."
In this forum it was mentioned that possible causes for this are the unavailability of php_mbstring.dll in php folder or else the extension_dir variable in php.ini is set to ./ which is the current folder.
I checked in the ext folder and the .dll file is available and the extension_dir variable is set to ./ext. And I tried setting the variable to C:/php/ext which is the absolute location, still it doesn't work. Any help on this concern would be much appreciated!
Probably the mbstring extension is just not activated in php.ini. Look for the line
;extension mbstring = php_mbstring.dll
and remove the leading ;
Also make sure that you are looking at the correct php.ini since there could be more than one in your installation.

Cannot access phpmyadmin in apache server

I have followed this tutorial for installation of php, mysql, apache and phpmyadmin :http://www.youtube.com/watch?v=kZ2zbO6PABk
and towards the end when he tried to access phpmyadmin he got the following error but resolved it :
Fatal error: Call to undefined function mb_detect_encoding() in
C:\Apache24\htdocs\phpMyAdmin\libraries\php-gettext\gettext.inc on
line 177
I am now still having issue. Like this question:
Fatal error: Call to undefined function mb_detect_encoding()
I have also made sure ive uncommented out and unblocked the following extensions:
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mysql.dll
extension=php_mysqli.dll
What else am I missing?
added PHPINIDir "C:\php" in http.conf and it now works
I faced this problem too. The problem is that settings in PHP.INI is no incorrect. Mysql is not longer enabled by default. you got to enable the dll in the PHP.INI among other dlls.
http://www.hirokoymj.com/Install_phpMyAdmin.php
These are some of the dlls that you have to uncomment in php.ini
curl, gd2, mysql, mqsqli, mbstring, pdo_mysql, phar, soap, zip
It works like a charm after having changed the settings!
On my install I found that the 4 instructions lines above the 'extension_dir="C:/..." entry in the php.ini file were not properly commented out. So nothing after that in the config file seemed to work. Including the set path to the extension_dir. So the mbstring.dll wasn't loading. I added semi-colons to comment them out, restarted Apache, and Viola! The hirokoymj.com page listed above was a big help!

Call to undefined function curl_init() error in wamp 2.2

I am having below error when I try to implement google and facebook authentication in windows 7 using wamp server.
Fatal error: Call to undefined function curl_init() in
E:\wamp\www\mysite\protected\extensions\eauth\EAuthServiceBase.php
on line 273
I am using,
wampserver 2.2
php version 5.3.13
I have enabled php_curl module as well. I checked in php.ini for confirm and it is uncommented as below.
;extension=php_bz2.dll
extension=php_curl.dll
;extension=php_dba.dll
The code has worked in ubuntu with xampp, but not in wamp in windows. I have done everything I can find. I have tried replacing the php_curl.dll also according to the comment on this thread, Call to undefined function curl_init() - with WAMP
My phpinfo() looks like below.
I have installed wamp in the partition E:\, but the "Configuration File (php.ini) Path" seems different, it is C:\Windows.
Please help me to fix the issue.
Visit this and have a file under Fixed curl extensions:
http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/
after download and replace related file then restart server.
In browser navigate to localhost and make sure there is curl extensions showing under Loaded Extensions :
For WAMP running PHP 5.4.3 on Windows 7 64 bit, make sure you use php_curl-5.4.3-VC9-x64.zip NOT php_curl-5.4.3-nts-VC9-x64.zip.
In windows 7 with PHP 5.5.31 after check that php_curl.dll extension is enabled (and still doesnt working), work for me to copy libeay32.dll and libssh2.dll from php directory to Apache bin.
just a guess - this section in php.ini does not reference the correct location
; Directory in which the loadable extensions (modules) reside.
extension_dir = *some value*
http://www.php.net/manual/en/ini.core.php#ini.extension-dir
edit
Also, look for this block in your phpinfo, if it's not there, curl isn't loading (obviously). You're not looking for matching version numbers - just for the block's existence.
edit
look at this question also
PHP and CURL under Windows 7 64 bits and Apache
When using WAMP..
You should have one file php.ini in the main PHP directory
In the php.ini enable the extension extension=php_curl.dll, by removing the ; char
The extension_dir must look like this example: extension_dir = "D:\AMP\PHP\ext\", so not a relative path
You need to restart Apache server only once. No need to restart it many times
Just make sure, you have the php_curl.dll in the ext directory
(windows 10 user)
Since this is the first result in Google and I had exactly the same problem and none of your solutions worked for me and I finally find the correct solution in an other thread of stackoverflow, I'll post link here :
EasyPHP Devserver 16.1 Curl Win 10
The solution is to add the your current PHP directory (depend of which version you use) to your global "path" variable in windows (like explained in the link, but you don't need to add all php directorias of course)
Not sure where to put my experience, hope it will be useful for someone.
In my case (win7 x64 + apache 2.4 + php 7.2), curl extension was enabled in php.ini but did not load. Resolved by replacing libs libssl-1_1-x64.dll and libcrypto-1_1-x64.dll in Apache's bin folder with the latest builds of OpenSSL
For those running PHP 7+ on windows, there is no php.ini file in the php directory by default.
You need to:
create a php.ini file in your PHP directory (it should be under C:\php\, or wherever your php directory is located)
Copy the content of either php.ini-development or php.ini-production into the php.ini file you've created.
Finally remove the semicolon (;) before extension=curl
Change the extention in php.ini file uncomment by removing ; like below
;extension=php_bz2.dll
extension=php_curl.dll
;extension=php_dba.dll
Then restart all services and it will work.

Socket transport "ssl" in PHP not enabled

I'm having trouble enabling the socket transport "ssl" in PHP. When I run my script, I get the error:
Warning: fsockopen()
[function.fsockopen]: unable to
connect to ssl://www.my.site.com:443
(Unable to find the socket transport
"ssl" - did you forget to enable it
when you configured PHP?)
I'm running IIS6 on Windows and this is what I've done so far to try to get it working:
uncommented the php_openssl.dll and php_sockets.dll extensions in php.ini
made sure PHP was loading the ini file I made changes to (it is, and it's definitely loading other extensions, so I'm fairly sure this isn't the problem)
made sure php_openssl.dll and php_sockets.dll were in the correct location
copied ssleay32.dll and libeay32.dll to the main PHP folder, the WINDOWS folder and the WINDOWS/system32 folder
made sure the Windows path variable included the location of PHP
made sure the file permissions were correct on all the relevant files.
I've restarted IIS after pretty much every change, but I haven't had any luck. Is there anything obvious that I'm doing wrong? Is there anyway to troubleshoot this in smaller parts? (So I can figure out the problem by the process of elimination...?)
Unfortunately Windows/IIS aren't my area of expertise--I've been put in charge because nobody else seems to know anything.
I was having problem in Windows 7 with PHP 5.4.0 in command line, using Xampp 1.8.1 server. This is what i did:
Rename php.ini-production to php.ini (in C:\xampp\php\ folder)
Edit php.ini and uncomment extension_dir=ext.
Also uncomment extension=php_openssl.dll.
After that it worked fine.
Success!
After checking the log files and making sure the permissions on php_openssl.dll were correct, I googled the warning and found more things to try.
So I:
added C:\PHP\ext to the Windows path
added libeay32.dll and ssleay32.dll to C:\WINDOWS\system32\inetsrv
rebooted the server
I'm not sure which of these fixed my problem, but it's definately fixed now! :)
I found these things to try on this page:
http://php.net/manual/en/install.windows.extensions.php
Thanks for your help!
In XAMPP Version 1.7.4 server does not have extension=php_openssl.dll line in php ini file. We have to add extension=php_openssl.dll in php.ini file
Ran into the same problem on Laravel 4 trying to send e-mail using SSL encryption.
Having WAMPServer 2.2 on Windows 7 64bit I only enabled php_openssl in the php.ini, restarted WAMPServer and worked flawlessly.
Did following:
Click WampServer -> PHP -> PHP extensions -> php_openssl
Restart WampServer
Just uncomment extension=php_openssl.dll
Restart Apache Service and that should help.
I also ran into this issue just now while messing with laravel.
I am using wampserver for windows and had to copy the /bin/apache/apacheversion/bin/php.ini file to /bin/php/phpversion/php.ini
I am using XAMPP and came across the same error. I had done all those steps, added environmental variables path, copied the dll's every directory possible, to /php, /apache/bin, /system32, /syswow64, etc.. but still got this error.
Then after checking the apache error log, I noticed the issue with using brackets in path.
PHP: syntax error, unexpected '(' in C:\Program Files
(other)\xampp\php\php.ini on line 707 0 server certificate does NOT
include an ID which matches the server name
If you have installed the server in "Program Files (x86)" directory, the same error might occur due to the non-escaped brackets.
To fix this, open php.ini file and locate the line containing "include_path" and enclose the path with double quotes to fix this error.
include_path="C:\Program Files (other)\xampp\php\PEAR"

Categories