PhpMyAdmin install errors
Having some issues with installing phpMyAdmin. I would like to resolve the following issue, but don't have a clue where to start (except maybe php.ini?).
Here's the error message.
The mbstring PHP extension was not found and you seem to be using a multibyte charset. Without the mbstring extension phpMyAdmin is unable to split strings correctly and it may result in unexpected results.
And here's a related article I found on SO that was for Linux but didn't work on my Mac (OSX 10.6 with PHP updated, etc): PhpMyAdmin install errors
Like the error message says, your PHP installation lacks the mbstring extension. The Apple-provided PHP 5.3.3 in my Snow Leopard seems to have it, but many distributions bundle the extensions separately. For instance, if you use PHP from macports you need to install the php5-mbstring -package with:
sudo port install php5-mbstring
Minor note - if you have installed a different version of php (like php5.5) you must install the correct version of the mbstring package. In my case:
sudo port install php55-mbstring
To activate, you have to have a line like this in your php.ini file:
extension=mbstring.so
Which comes from:
/opt/local/var/db/php55/mbstring.ini
(if you use the default macports install root).
In the newest php versions the "extension_dir" path is not enabled initial.
It works with Windows and Linux, so maybe it helps also on MacOs ... :)
screenshot
Related
I have problems when trying to update laravel 4.1 to 4.2.
I started that project on ubuntu, then got a new macbook pro and it looks like I'm missing something.
I'm using XAMPP 1.8.3
When I
composer update
I get the following error
Mcrypt PHP extension required.
Script php artisan clear-compiled handling the post-update-cmd event returned with an error
After few googling, found homebrew, then it's easy
brew install mcrypt
but I get the following warning
Warning: mcrypt-2.6.8 already installed
Any ideas?
Assuming your macbook pro is running Mavericks, the problem is most likely in your $PATH variable. The php command defaults to the built in php that ships with your mac. You can verify this by entering in terminal echo $PATH;
If it points to /usr/bin:/bin/usr/bin:/usr/local/bin then the problem is here because the native mac php does not include mcrypt. Add your XAMP PHP to your paths variable should solve the problem,
export PATH=$PATH:\path\to\xamp\bin\php5.ver\bin
I am trying to use composer.json file. but, when I am trying to run command 'composer install' in my path/project/, I am getting an error:
I have already configured my wamp for 'extension=php_intl.dll' and copied all icu*.dll in 'D:\wamp\bin\apache\apache2.2.22\bin' from 'D:\wamp\bin\php\php5.3.13' and it's showing in phpinfo():
without copy icu*.dll also works and showing in phpinfo();
Kindly, let me know if I have intl install on my wamp and composer install on my pc then why I am getting this error. really, it is so annoying.
Here is my details:
OS: windows 7 (64)
PHP: 5.3.13
Apache:2.2.22
Composer: installed by executable file
Pear: installed (latest)
PHPUnit: installed (latest)
My composer.json is as below:
{
"name" : "sebastian/money",
"description" : "Value Object that represents a monetary value (using a currency's smallest unit)",
"keywords" : ["money"],
"homepage" : "http://www.github.com/sebastianbergmann/money",
"license" : "BSD-3-Clause",
"authors" : [{
"name" : "Sebastian Bergmann",
"email" : "sebastian#phpunit.de"
}
],
"require" : {
"php" : ">=5.3.3",
"ext-intl" : "*"
},
"require-dev" : {
"phpunit/phpunit" : "~4.0"
},
"autoload" : {
"classmap" : [
"src/"
]
},
"extra" : {
"branch-alias" : {
"dev-master" : "1.3.x-dev"
}
}
}
Let me know if any other details is required..
Any feedback/help would be highly appreciated.
I encountered this using it in Mac, resolved it by using --ignore-platform-reqs option.
composer install --ignore-platform-reqs
After installing with this method, if the package that defines the requirement attempts to use any functions from the specified PHP extension, it will fail irrevocably.
PHP uses a different php.ini for command line php than for the web/apache php. So you see the intl extension in phpinfo() in the browser, but if you run php -m in the command line you might see that the list of extensions there does not include intl.
You can check using php -i on top of the output it should tell you where the ini file is loaded from. Make sure you enable the intl extension in that ini file and you should be good to go.
For php.ini 5.6 version (check version using php -v)
;extension=php_intl.dll
; remove semicolon
extension=php_intl.dll
For php.ini 7.* version
;extension=intl
; remove semicolon
extension=intl
In linux (Debian Jessie for example):
apt-get install php7.0-intl
will make the job to you due will create a simbolic link to it.
To enable intl extension follow the instructions below.
You need enable extension by uncommenting the following line extension=php_intl.dll in the C:\xampp\php\php.ini file.
Once you uncomment the extension=php_intl.dll, then you must restart apache server using XAMPP control panel.
//about line 998
;extension=php_intl.dll
change as
extension=php_intl.dll
(Note: php.ini file mostly in the following directory C:\xampp\php)
Restart xampp
just remove them
"ext-intl" : "*"
from your composer.json file.
Because sometimes for some helper functions, the IDE complains that the extension is missing from the composer.json file. Immediately press Alt+Enter to add it to the composer. But that doesn't mean that composer will count them in. The composer will complain next time while doing some operations. So that, we should not blindly type Alt+Enter rather than installing them manually in composer by doing composer install <package-name>.
As I think you have entered it manually, you should remove it, then install it in proper procedure composer install <package-name>
Or else you can run composer update to count that added dependencies in.
If You have got this error while running composer install command,
don't worry.
Steps to be followed and requirements:
Step1: Go to server folder such as xampp(or) wampp etc.
Step2: open php folder inside that and go to ext folder.
Step3: If you find a file named as php_intl.dll no problem.
Just go to php.ini file and uncomment the line
From:
;extension=php_intl.dll
To:
extension=php_intl.dll
Step4: restart xampp, thats it
Note: If you don't find any of the file named as
php_intl.dll, then you need to upgrade the PHP version.
(with xampp server)open php.ini in ".\xampp\php"
change ;extension=intl to extension=intl
This is bit old question but I had faced same problem on linux base server while installing magento 2.
When I am firing composer update or composer install command from my magento root dir. Its was firing below error.
Problem 1
- The requested PHP extension ext-intl * is missing from your system. Install or enable PHP's intl extension.
Problem 2
- The requested PHP extension ext-mbstring * is missing from your system. Install or enable PHP's mbstring extension.
Problem 3
- Installation request for pelago/emogrifier 0.1.1 -> satisfiable by pelago/emogrifier[v0.1.1].
- pelago/emogrifier v0.1.1 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
...
Then, I searched for the available intl & intl extensions, using below commands.
yum list php*intl
yum install php-intl.x86_64
yum list php*mbstring
yum install php-mbstring.x86_64
And it fixed the issue.
In latest XAMPP version;
You need to find only intl(Line no 912)in php.ini file.
Change
;extension=intl
To
extension=intl
I have faced the same issue on my server. And it is mainly happened due to miss-match of php version between server version and your system version. I am using Nginx and checked on all my project configuration files, it uses php8.0 but on my terminal it shows php.8.1. Actually my application needs php8.0. The following steps resolved my issue.
To see all my running php versions
sudo update-alternatives --config php
It shows the following page
Selecting php8.0 for my application. Run the command to see Nginx scripts are ok
sudo nginx -t
Then reload the Nginx
sudo systemctl reload nginx
Finally go to your project directory and update or install your composer
composer update
It has been resolved my issue, I expect same will resolve yours.
In my case, I am using ubuntu, run this command, it will be solved if your system is also ubuntu.
sudo apt-get install php-intl
I searched the net, I followed the instructions to solve this problem but I could not solve it,
when I want to use Laravel php artisian it gives errors like this:
Laravel requires php Mcrypt extenstion.
Note: I am using MAMP in Mac
please give example and solution for mac with MAMP.
I had a similar issue on Ubuntu 12.04. What version of PHP are you running and does Mcrypt show up as active when you run:
<?php
phpinfo()?
?>
It's quite possible that your command-line PHP isn't the same that MAMP is using, but rather the one that came with OSX. To find out, you can open your terminal and type php -i | grep php.ini, which will show you what ini file you're using.
If this is the case, which seems likely, you can follow the steps of older SO posts such as this one to create a symlink or overwrite the default PHP.
Alternatively, you can upgrade your system's PHP using Homebrew, for instance. I'm running 5.5.8 on my Macs, and it's working great. Do note that I do not necessarily recommend this, though, as configuring MAMP to use the new version isn't a fun experience. Also note that if you do this, you'll have to install both PHP and Mcrypt through Homebrew.
I've been following this tutorial to try to install the PHP MongoDB extension but unfortunately haven't been able to get it working.
http://www.marcwitteveen.com/tech/mac/installing-mongodb-on-a-mac-so-you-can-access-it-with-php/
I can access the collections in the terminal, the database is properly installed but I didn't manage to get the extension working.
I have the following problem:
Sinan-MBP:mongo-php-driver-master Sinan$ cd
Sinan-MBP:~ Sinan$ sudo pecl install mongo
pecl/mongo is already installed and is the same as the released version 1.4.1
install failed
I've been trying several times so that's probably why I get this message. However, even after adding "extension=mongo.so" to the php.ini, I can't use MongoDB in my PHP code.
Thank you for your help.
This is likely a case of modifying the wrong php.ini for the environment, or PHP not being able to find the mongo.so in its directory. If you have separate php.ini files for CLI and web environments, PECL might have installed the compiled extension to a different directory.
If you run through the installation docs, there are instructions for grepping extension_dir from php -i and ensuring that mongo.so is present in that directory. If your web environment has a separate php.ini file, then grepping output from php -i likely won't help. You may need to view phpinfo(); output through your web server and check for the extension directory there.
One additional test that PECL installation succeeded would be attempting to view reflection information for one of the driver classes from the CLI environment. You can do so with php --rc MongoClient, which should print info on the methods of the MongoClient class.
I don't know why it was not working but I found a workaround late last night.
I uninstalled the php extension and then installed it again and made sure the extension was loaded in the php.ini
sudo pecl uninstall mongo
sudo pecl install mongo
I'm using this tutorial, which gives a detail explanation about how to set up CodeIgniter and Doctrine. I'm using CodeIgniter 2.1.0 and Doctrine 2.2.1, but I get this error:
Fatal error: Call to undefined function Doctrine\Common\Cache\apc_fetch() in /Applications/XAMPP/xamppfiles/htdocs/emma_watson_shrine/application/libraries/Doctrine/Common/Cache/ApcCache.php on line 52
Can you help me out?
You need to enable the APC extension for PHP.
Follow this guide.
Alternatively, you could use a different caching driver, like memcache, and change the Doctrine config in accordance to that.
Check the doctrine documentation for alternate caching drivers. Perhaps the simplest solution would be to use ArrayCache in development.
Since php 5.5 apc is no longer used. You should install apcu.
E.g.
apt install php5.6-apcu
More info here:
http://php.net/manual/en/opcache.installation.php
And for those on php 7 there's a backwards compatibility module:
apt-get install php7.0-apcu
apt-get install php7.0-apcu-bc
Also, you might need to add this repository:
apt-add-repository ppa:ondrej/php
apt-get update
If you don't install APC and just want to run it then in doctrine-cli.php at line 6, change mode:
define('ENVIRONMENT', 'production');
to
define('ENVIRONMENT', 'development');
Open Doctrine.php file, at line 36 ~ 43, you will see why!
you need to install apc extension to work with caching. So just download the extension and install it.
This one will help you to install APC extension on apache.
http://kvcodes.com/2014/06/solution-call-undefined-function-apc_fetch/
For anyone getting this on a Mac, just install apcu using Homebrew:
brew install php56-apcu
(and enable the extension, if required).
On OSX I had to run:
pecl channel-update pecl.php.net
pecl install apcu-4.0.11
to install for PHP 5.6
https://getgrav.org/blog/macos-mojave-apache-mysql-vhost-apc