Related
I'm trying to run the Magento installer on Windows 7 with MAMP 3.3.0 . When I do that Readiness Check says to me that: xsl & intl extension is missing.
I have both dll in the /ext dir .
I have two php.ini files in conf\php7.0.13\ dir : php.ini-development & php.ini-production. I already uncomment the xsl and intl in the both php.ini files.
Copied icu***.dll from php to apache bin folder too but still gets the same
error.
Help me, please. If I have not clearly explained, what information is needed to solve the problem?
What could the issue be?
I suppose you're trying to make it run on Windows otherwise there is no meaning in using .dll files.
Before starting the configuration of the Magento drop a file in that configuration with
phpinfo();
and get the exact location of the used php.ini file so you'll be sure there's not a 3rd one.
Uncomment and check the location of the extensions.
Please edit php.ini in the php installed folder usually present in /etc/php
old code
...
;extension=php_intl.dll
...
...
;extension=php_xsl.dll
new code
...
extension=php_intl.dll
...
...
extension=php_xsl.dll
save and restart your apache.
IN xamp/php/php.ini search and modify php.ini file and search (;extension=php_xsl.dll) line and remove ; before line start same as remove ; before (;extension=php_intl.dll) in php.ini and save php.ini file.and open xamp manager and stop apache servises and restart again.
I use laravel5.1 and it works fine on php cli.
But i publish my porject to apache(version == 2.4), the problem happened.
FatalErrorException in Encrypter.php line 67:
Call to undefined function openssl_encrypt()
First make sure you installed the openssl extension (spotted by deceze), then:
Go to your php.ini file
Remove the semicolon before extension=php_openssl.dll
Restart your Apache
I'm expecting this to be the problem.
I solved same issue by copying libeay32.dll and ssleay32.dll from PHP root folder to Apache/bin folder and then restarted Apache.
If you using the Wamp server then it's happens. In Xampp server there is no need to uncomment php_openssl.dll.
To solve this Remove the semicolon before
extension = php_openssl.dll
in php.ini
as most point out, you need to uncomment openssl extension in php.ini.
I was struggling with the same too and i realized php is looking for extensions in "c:\php", but mine was a xampp installation.
Pointing extension_dir in php.ini to correct php extension path; in my case "c:\xampp\php.7\ext" solved the issue.
Hope that helps somebody.
Follow the below steps:
In PHP 7.4.3 duplicate "php.ini-development" file and rename it
to "php.ini"
Then, remove the semi-colons in front of "extension=openssl",
"extension=mbstring", and "extension_dir = ext" inside the "php.ini" file.
This worked for me and I hope it helps someone else.
I am using wampserver and i had the same problem. Openssl was enabled in php.ini but there is another ini called phpForApache which has a line to enable openssl too. It worked for me.
I'm using nginx, and my nginx installation contained a PHP folder, something like below:
C:\Users\myusername\Downloads\nginx\php\php.ini
I moved the nginx above to the root directory of C:\ and it solved the problem.
Just run the composer update command from Laravel installation directory And 02. make sure extension=php_openssl.dll is enabled in php.ini
Restart Apache Server
On Windows
Open php.ini and change path where are locate php ext
extension_dir = "C:\php\ext"
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.
Whenever I try to enter my phpMyAdmin, it gives me this error:
The mbstring extension is missing. Please check your PHP configuration.
I've looked all over the Internet for a fix, but all I've found is errors similar to mine, but not the same, or the exact same but there was no fix given.
I am also using Windows.
In Centos I have installed a php extension.
I did this with:
yum install php-mbstring
Before sometime I also had the same problem. I have tried replacing the .dll file but no result. After some debugging I found the solution.
I had this in my php.ini file:
extension_dir = "ext"
And I'm getting mbstring extension missing error. So I tried putting the full path for the extension directory and it works for me. like:
extension_dir = "C:\php\ext"
Hope this will help.
Cheers,
check your php.ini file in the root directory of your php installation. 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.
Edit: I just read that you are already using a webhost. Does your webhost have a interface where you can set php variables etc? Or a .ini file you can edit?
If not you may are forced to talk to the webhost and ask them to enable that particular extension.
My case was like this
Strangely, I noticed that the php.ini file that WAMP was using wasn't
the one in the php directory, but rather was referencing a php.ini
file in the bin directory... I copied my php.ini file to
wamp\bin\apache\apache2.4.17\bin directory, restarted the wamp
services and PHPMyadmin was off and running...
Thanks I solved the problem
In Ubuntu Server I have installed a php extension.
I did this with:
sudo apt-get install php-mbstring
Another reason for this problem is Php version. When I changed the running PHP version to 7.0.0, problem has gone.
Ubuntu 15.10
1) sudo nano /etc/php/7.0/apache2/php.ini
uncommited extension=php_mbstring.dll
2) sudo apt-get install php7.0-mbstring
3) restart apache2
install mbstring and restart your apache:
sudo apt-get install php-mbstring
sudo service apache restart
then remove ; from your php.ini file:
;extension=php_mbstring.dll
to
extension=php_mbstring.dll
If it still doesn't work..remove your php setup, without removing the databases from your phpmyadmin. Reinstall it.
NB: * if you want to remove all, all mention the one you need to.
sudo apt-get remove php*
Then install the php and modules of the php version that you need. here, php 7.1:
sudo apt-get install php7.1 php7.1-cli php7.1-common libapache2-mod-php7.1 php7.1-mysql php7.1-fpm php7.1-curl php7.1-gd php7.1-bz2 php7.1-mcrypt php7.1-json php7.1-tidy php7.1-mbstring php-redis php-memcached
restart your apache and check the php version.
sudo service apache restart
php -v
when all this is done, execute the following command to enable mbstring forcefully and restart your apache.
sudo phpenmod mbstring
sudo service apache restart
Hope it helps.
It did to me :)
I've solved my problem by this way:
Edit the php.ini file:
change extension_dir = "ext" into extension_dir = "D:\php\ext" (please write ur own full path for the extension directory)
change ;extension=php_mbstring.dll into extension=php_mbstring.dll (delete the ";")
Then just save your php.ini file and copy it to ur Windows directory。(“C:\Windows“)
restart the apache server。
The above is my solution,Hope it will work for u.
Using xampp, this will work (php7 has been extracted to the xampp\php directory):
Make the following changes in the php.ini:
uncommend (remove the ;)
;extension=php_mbstring.dll
uncommend (remove the ;)
;extension=php_mysqli.dll
set the path to the extention Directory
extension_dir = "ext"
to the full path, for example:
extension_dir = "C:\xammp\php\ext"
Additional, change the xampp-settings in the httpd-xampp.conf:
change
LoadFile "C:/xampp/php/php5ts.dll"
to
LoadFile "C:/xampp/php/php7ts.dll"
change
LoadModule php5_module "C:/xampp/php/php5apache2_4.dll"
to
LoadModule php7_module "C:/xampp/php/php7apache2_4.dll"
change all appearance (3 times) of
IfModule php5_module
to
IfModule php7_module
That's it.
I had this problem in the past with MAMP on a Windows machine.
Open MAMP start page and go to your current configuration of PHP (phpinfo).
Check the Configuration File (php.ini) PATH.
Mine was set to C:\Windows, where of course I had no PHP.ini file.
Either change the php.ini path to C:\MAMP\conf\php5.6.8 (or your php version conf path) or just copy php.ini to c:\windows.
after installing WAMP 3 with Apache 2.4.17 and php5.6.17 I tried to look at php.ini from wampserver (green icon in tray).
It wasn't finding it.
I copied php.ini from the php.5.6.15 directory to the apache2.4.17\bin\ directory
and phpmyadmin worked fine without missing mbstring
Solved it.
I tried all of the solutions above but it still did not work. I'm currently using WAMP to launch the mysql server. When I tried to open the "php.ini" file with the WAMP panel, it said that it did not exist and asked me to create a new "php.ini" in the location, "C:\wamp\bin\apache\apache2.4.17\bin". Once I created this new "php.ini" file, I located the existing "php.ini" file which was in the path "C:\wamp\bin\php\php5.6.15", and cloned it. I then pasted the clone in the previous path where it had asked me to create the "php.ini" file.
Hope this helped.
I just installed WAMP 3 on Windows 10 and had this issue.
I had to go to C:\wamp64\bin\php\php7.0.0\ and copy the php.ini file to C:\wamp64\bin\apache\apache2.4.17\bin\
Then I restarted WAMP, and was finally able to access my phpMyAdmin file.
Note: this is probably not the correct way to do this because now there are 2 php.ini files. There is probably a setting in an Apache file that points to the php.ini file, but I haven't seen that yet. I will update this if I find it.
Strangely, I noticed that the php.ini file that WAMP was using wasn't the one in the php directory, but rather was referencing a php.ini file in the bin directory... I copied my php.ini file to wamp\bin\apache\apache2.4.17\bin directory, restarted the wamp services and PHPMyadmin was off and running...
In newer versions of PHP, "extension_dir" is not initially enabled.
In php's directory try change extension of configuration file (php.ini-development - default value of this file). I changed it to php.ini and phpmyadmin has worked.
The program can't start because php_mbstring.dll is missing from your computer. Try to fix it.
i use appserver to localhost and my server: C:/AppServ/www/dvd2/variables.php
Mozilla/5.0 (Windows NT 6.1; rv:33.0) Gecko/20100101 Firefox/33.0
Apache/2.2.8 (Win32) PHP/5.2.6
To solve this problem on Linux, you need to recompile your PHP with the --enable-mbstring flag.
You might get this error message if you've just installed the phpmyadmin package but haven't restarted apache yet; try restarting apache.
Please uncomment the following lines at php.ini
;extension=php_mbstring.dll
;extension=php_exif.dll ; Must be after mbstring as it depends on it
;extension=php_mysql.dll
;extension=php_mysqli.dll
This will help to solve.
The version of phpadmin you have installed is not compatible with the version of apache. Install the compatible version and you should be fine
I recently updated from PHP 5.4.44 to PHP 5.6.12 on my Windows 8.1 OS and got this phpMyAdmin missing mbstring error message.
After trying the above suggestions, none of which worked for me, I discovered version 5.4.44 placed the DLL extensions in the PHP root directory whereas version 5.6.12 placed them in the PHP\ext subdirectory.
All very fine except unfortunately someone forgot to change the php.ini accordingly. So two possible solutions:
Copy the DLL extensions from the ext sub-directory into the PHP root directory, or
Edit the php.ini file to call all the DLL extensions from the ext sub-directory.
I chose the easier first and phpMyAdmin now works fine.
Depending on you OS, you might need to install additional packets, e.g. php5-mbstring in SLES Linux.
I check phpinfo() and look for this line:
Configuration File (php.ini) Path C:\Windows
And I copy php.ini from C:\xampp\php to the folder and it works for me.
I had the same problem, the above solutions are not worked for me.
What I did is uninstalled the wamp and logout the Skype and re-installed wamp.
Then It got worked. I think the port used by wamp and Skype is same.
Hope this input will help.
Cheers :)
my solution : Copy a shortcut from your php.ini from your php-directory to the apache-dir. This way you refere too 1 file on the correct place. This solved (at least in my case) the problem.
just copy the php.ini file from C:\wamp\bin\apache\apache2.4.17\bin to C:\wamp\bin\apache\apache2.4.17\bin and then again restart apache server..
it will work fine.
My solution:
I had wamp x32 installed before, needed to remove and then installed the x64, receiving the same message "The mbstring extension is missing. Please check your PHP configuration.".
On php.ini, all references to wamp, such as extension_dir = were pointing to "C:/Program Files/Wamp/...". Check all paths, the correct for me is "C:/Wamp64/". Restart services and it's all right now.
The installation process adds the phpMyAdmin Apache configuration file into the /etc/apache2/conf-enabled/ directory, where it is read automatically. The only thing you need to do is explicitly enable the mbstring PHP extension, Because sometimes you forgot to enable the mbstring mode so simply type the below command to enabled the mbstring mode...
sudo phpenmod mbstring
Afterward, restart Apache for your changes to be recognized:
sudo systemctl restart apache2
I wanted to install Zend Framework 2. So I downloaded the skeleton application. As mentioned in the ZF2 manual, we have to issue the command
php composer.phar install
Inside the skeleton.
But I'm getting an error
You must enable the openssl extension to download files via https
Then I enabled the ssl_module in my wamp, I checked the php_ini file and I can see the following line
extension=php_openssl.dll
Still I'm getting the same error. Anybody having any clue what I missed out?
PHP CLI SAPI is using different php.ini than CGI or Apache module.
Find line ;extension=php_openssl.dll in wamp/bin/php/php#.#.##/php.ini
and uncomment it by removing the semicolon (;) from the beginning of the line.
Verify you are editing the correct php.ini file.
Reference:
https://github.com/composer/composer/issues/1440
"WAMP uses different php.ini files in the CLI and for Apache. when you enable php_openssl through the WAMP UI, you enable it for Apache, not for the CLI.
You need to modify C:\wamp\bin\php\php-X.Y.Z\php.ini to enable it for the CLI."
make sure you have correct path to extension folder
extension_dir = "ext"
by default it is commented with ; character
I also had the same issue while playing around Zend Framework 2 and composer. I'm using PHP 5.4 (installed via macports) and my solution was to install openssl for PHP 5.4 via macports as well.
sudo port install php54-openssl
I have faced this problem, but configuging openssl (also for cli) did not help.
I have updated composer and this sloved my problem.
Just type:
$ php composer.phar self-update
or
$ composer selfupdate
Good luck!
I use XAMPP. In C:\xampp\php\php.ini, the entry for openssl did not exist, so I added "extension=php_openssl.dll" on line 989, and composer worked.
You need to enable "extension=php_openssl.dll" in both files (php and apache). my pc files path are these :
C:\wamp\bin\php\php5.3.13\php.ini
C:\wamp\bin\apache\apache2.2.22\bin\php.ini
Uttam, if your issue is not solved then try the follwoing 3 step approach. It worked for me as I had exactly same issue.
step1: click on wamp tray icon.
step2: goto menu apache->apache modules
step3: click on menu item "ssl_module"
it will automatically restart wamp. if wamp not restarted automatically then restart it through wamp tray menu-> Restart All services. After restart confirm that "ssl_module" coming as ticked under menu apache->apache modules
after that just attempt the php composer.phar install
from going through the response shared by you, php.ini file contains extension=php_openssl.dll and the php/ext directory also have file "php_openssl.dll"
good luck
The Valery's answer helped me:
https://stackoverflow.com/a/14265815/492457
WAMP uses different php.ini files in the CLI and for Apache. when you
enable php_openssl through the WAMP UI, you enable it for Apache, not
for the CLI. You need to modify C:\wamp\bin\php\php-5.4.3\php.ini to
enable it for the CLI.
Make sure that you update your php.ini for CLI. For my case this was C:\wamp\bin\php\php5.4.3\php.ini and uncomment extension=php_openssl.dll line.
Late answer but adding so other can learn the reason.
You also need to edit the php.ini file in the "wamp\bin\php\php-X.Y.Z" location.
I had to uncomment extension=openssl in php.ini file for everything to work!
Becareful if you are using wamp don't use the wamp ui to enable the extension=php_openssl.dll
just go to your php directory , for example : C:\wamp\bin\php\php5.4.12 and edit the php.ini and uncomment the extension=php_openssl.dll.
it should work.
Was facing this error
"You must enable the openssl extension in your php.ini to load
information from.."
I solved by finding and uncommenting the following lines on php.ini file
;extension=php_openssl
;extension_dir = "/c:\wamp64\bin\php\php 8.0.25\ext\/"
;extension=bz2
;extension=curl
;extension=fileinfo
;extension=gd
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=ldap
;extension=mbstring
;extension=exif
;extension=pdo_sqlite
;extension=shmop
in
Wamp/bin/php/php 8.0.25/php.ini
Uncomment both by removing the semicolon (;) from the beginning of each line.
If you have the latest PHP v^8 or above, likely you won't see php.ini file. So what you do is to make a copy of php.ini-development which you will see there and then rename the copy you just made to php.ini and then do the same uncommenting of the two lines then save.