I am getting this error every time I run composer update in my Yii2 framework project:
Problem 1
- phpunit/phpunit[9.5.0, ..., 9.5.28] require ext-dom * ->
it is missing from your system. Install or enable PHP's dom extension.
- Root composer.json requires phpunit/phpunit ~9.5.0 ->
satisfiable by phpunit/phpunit[9.5.0, ..., 9.5.28].
I have tried running run Composer with --ignore-platform-req=ext-dom but returns the same error.
This error message is indicating that the phpunit/phpunit package requires the ext-dom extension, but it is not installed or enabled on your system.
To resolve this issue, you need to install the ext-dom extension on your system. You can do this by running the following command in your terminal:
sudo apt-get install php-xml
After installing the ext-dom extension, try running composer update again to see if the issue has been resolved. If you continue to experience the same error, you may need to restart your web server or check your PHP configuration to ensure that the ext-dom extension is properly loaded.
hi guys am trying to host a laravel 5.6 app on a VPS for the first time and i cant seem to get it right..am using LEMP.i followed some guide which was using php 7.0 but my project requires php 7.1 "i think i managed to resolve the error using the following line"
sudo apt-get install php7.1-cli php7.1-fpm php7.1-mbstring php7.1-mysql
php7.1-mcrypt php7.1-curl
now am getting the following error
Problem 1
- Installation request for phpoffice/phpexcel 1.8.1 -> satisfiable by
phpoffice/phpexcel[1.8.1].
- phpoffice/phpexcel 1.8.1 requires ext-xml * -> the requested PHP extension
xml is missing from your system.
Problem 2
- phpoffice/phpexcel 1.8.1 requires ext-xml * -> the requested PHP extension
xml is missing from your system.
- maatwebsite/excel 2.1.28 requires phpoffice/phpexcel ^1.8.1 -> satisfiable
by phpoffice/phpexcel[1.8.1].
- Installation request for maatwebsite/excel 2.1.28 -> satisfiable by
maatwebsite/excel[2.1.28].
this is my first time so any useful information is very welcome :)
You would need to install the php-xml package. You can do it using the following command:
sudo apt-get install php-xml
When the package is installed run the composer install again.
You can read more about this issue here: https://laracasts.com/discuss/channels/servers/how-do-i-install-the-dom-extension-for-php7
edit:
if it does not install the correct version of the package, you can use the command from #Dharma Saputra's comment:
sudo apt-get install php7.1-xml
Greetings fellow developers,
I am trying to use composer for a PHP project of mine on a development server I recently booted up and for some reason I am unable to. I successfully installed composer, however, when I try to run the require command I get the following error:
root#webserver:/var/mypersonal/index# composer require php-amqplib/php-amqplib
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/php_openssl.dll' - /usr/lib/php/20151012/php_openssl.dll: cannot open shared object file: No such file or directory in Unknown on line 0
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Using version ^2.6 for php-amqplib/php-amqplib
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- php-amqplib/php-amqplib v2.6.3 requires ext-bcmath * -> the requested PHP extension bcmath is missing from your system.
- php-amqplib/php-amqplib v2.6.2 requires ext-bcmath * -> the requested PHP extension bcmath is missing from your system.
- php-amqplib/php-amqplib v2.6.1 requires ext-bcmath * -> the requested PHP extension bcmath is missing from your system.
- php-amqplib/php-amqplib v2.6.0 requires ext-bcmath * -> the requested PHP extension bcmath is missing from your system.
- Installation request for php-amqplib/php-amqplib ^2.6 -> satisfiable by php-amqplib/php-amqplib[v2.6.0, v2.6.1, v2.6.2, v2.6.3].
To enable extensions, verify that they are enabled in your .ini files:
- /etc/php/7.0/cli/php.ini
- /etc/php/7.0/cli/conf.d/10-mysqlnd.ini
- /etc/php/7.0/cli/conf.d/10-opcache.ini
- /etc/php/7.0/cli/conf.d/10-pdo.ini
- /etc/php/7.0/cli/conf.d/20-calendar.ini
- /etc/php/7.0/cli/conf.d/20-ctype.ini
- /etc/php/7.0/cli/conf.d/20-exif.ini
- /etc/php/7.0/cli/conf.d/20-fileinfo.ini
- /etc/php/7.0/cli/conf.d/20-ftp.ini
- /etc/php/7.0/cli/conf.d/20-gettext.ini
- /etc/php/7.0/cli/conf.d/20-iconv.ini
- /etc/php/7.0/cli/conf.d/20-json.ini
- /etc/php/7.0/cli/conf.d/20-mysqli.ini
- /etc/php/7.0/cli/conf.d/20-pdo_mysql.ini
- /etc/php/7.0/cli/conf.d/20-phar.ini
- /etc/php/7.0/cli/conf.d/20-posix.ini
- /etc/php/7.0/cli/conf.d/20-readline.ini
- /etc/php/7.0/cli/conf.d/20-shmop.ini
- /etc/php/7.0/cli/conf.d/20-sockets.ini
- /etc/php/7.0/cli/conf.d/20-sysvmsg.ini
- /etc/php/7.0/cli/conf.d/20-sysvsem.ini
- /etc/php/7.0/cli/conf.d/20-sysvshm.ini
- /etc/php/7.0/cli/conf.d/20-tokenizer.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
Installation failed, deleting ./composer.json.
I'm assuming it's something to do with the PHP warning I recieve right when running the composer require command but no google search results lead me to the correct direction.
Additionally, I have provided my /etc/php/7.0/cli/php.ini file incase of an error in that file.
https://gist.github.com/anonymous/bc5bac59d684cbf575cef931ef36daf6 (I couldn't include the file in this post due to the character limit on posts.)
Thank you.
You can use function get_loaded_extensions to see if bcmath modul is loaded. Or in terminal php -m or php -m | grep name_of_the_modul
You can install it depending on what OS you are using:
Ubuntu
sudo apt install php7.0-bcmath
CentOS
yum install bcmath
PHP 7.2
Debian - jessie
apt-get update
apt-get install php7.2-bcmath
work like a charm :)
For any version in php Centos use
This solution worked for me
yum install php-bcmath
PHP will take the default version installed in the machine, search for that package and install it.
Delete the file composer.lock file if that is already created and then run again,
composer install
If you run
composer update
it will update whatever default packages are installed in composer.json which might create problem for you.
In Ubuntu 20.04
For php 7.4.3, sudo apt install php7.4-bcmath
For PHP 7.1, the following worked for me:
sudo apt install php7.1-bcmath
If you are using Docker:
bcmath can be installed by running this command inside a container: docker-php-ext-install bcmath
check your php version by type: php --version
you will see something like this:
PHP 7.2.9-1+ubuntu16.04.1 ....
then sudo apt install phpX.X-bcmath where X.X is php version, so for this ^ example it will be sudo apt install php7.2-bcmath
after this check if module existed or not by type php -m | grep bcmath
php 7.2 if you have other version just change it accordingly
For CentOS
sudo yum install php72-bcmath
For Ubuntu
sudo apt install php7.0-bcmath
Run this command, hope it will works
sudo apt-get install php-bcmath
hope this will fix the problem.
sudo apt install php-bcmath
For this problem we should use sudo apt install php-bcmath
Strange thing here
Some month ago I have installed all PHP version in the same manner. In here are the 4 identically configured version of php: 5.6, 7.0, 7.1, 7.2, with the same extensions ( when this was made possible ).
The strange thing was that bcmath is present for all php version excluding 7.1.
In the solution search I arrive here in this question, where the logic's things was confirmed installing bcmath, but in my Linode Debian 9 server the command
apt install php7.1-bcmath
doesn't work, with 3 error messages;
E: Impossible to find the package php7.1-bcmath
E: Impossible to find some package with glob "php7.1-bcmath"
E: Impossible to find a package with the regular expression "php7.1-bcmath"
The goals no meet with any combination of tips and trick, refreshing apt cache, change Debian's mirrored server, installing yum, so on...
After some tentatives I had an illumination: modificating of /etc/apt/sources.list enabling the default Linode repository, then after an apt update (with no solution in the immediate), I have restored the /etc/apt/sources.list commenting out the Linode mirror sources again. Magically, after the new apt update the command now are working.
By this I confirm: apt install php7.1-bcmath is the right command, but your Debian can need a kick in the ass
Install with this command, thats work for me
apt-get install php-bcmath
I tried below package and it worked in Php version 5.6
yum install php56w-bcmath
For those who have already tried installing bc-math and still composer is giving errors.
Try this command
rm composer.lock
It will definitely work
I cannot run artisan because of some weird parse error.
$ php artisan serve
Parse error: parse error, expecting "identifier (T_STRING)"' or
"variable (T_VARIABLE)"' or '{'' or '$'' in
/Library/WebServer/Documents/artisan on line 31
So I figure I need to run composer install, but then I get this:
Your requirements could not be resolved to an installable set of
packages.
Problem 1
- This package requires php >=5.5.9 but your PHP version does not satisfy that requirement. Problem 2
- classpreloader/classpreloader 2.0.0 requires php >=5.5.9 -> your PHP version does not satisfy that requirement.
- classpreloader/classpreloader 2.0.0 requires php >=5.5.9 -> your PHP version does not satisfy that requirement.
- Installation request for classpreloader/classpreloader 2.0.0 -> satisfiable by classpreloader/classpreloader[2.0.0].
So I try to install php5.5 or whatever it needs which supposedly works.
$ curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5 installing...
Installing package 5.5-10.8-frontenddev into root / Package
5.5-10.8-frontenddev is already installed at version
5.5.27-20150710-221744. You wanted to install version
5.5.27-20150710-221744.
So at this point, I figure I have met the requirements, but low and behold, same issue with composer install.
No idea what's going on here because it seems like this issue has been around for some time now.
The workaround is to pass --ignore-platform-reqs to your composer command.
This should work when you can run your composer using the right version of PHP, e.g.
composer install --ignore-platform-reqs
Another way is to install on macOS different PHP version by Homebrew, e.g.
brew install php56
brew install php72
Then you can link it like:
ln -vs /usr/local/opt/php56/bin/php /usr/local/bin/php56
ln -vs /usr/local/opt/php72/bin/php /usr/local/bin/php72
then you can run composer using PHP version of your choice, e.g.
php71 composer install
So at work, I've been tasked to learn and start to use some Laravel, so I've been following the documentation and some tutorials on Youtube, but I cannot seem to get it working. I am using composer and MAMP to install Laravel. When I use the command (in the terminal) "composer create-project laravel/laravel TestLaravel" while in htdocs. It quickly comes up with this error:
➜ htdocs composer create-project laravel/laravel TestLaravel
Installing laravel/laravel (v5.0.1)
- Installing laravel/laravel (v5.0.1)
Loading from cache
Created project in TestLaravel
Loading composer repositories with package information
Installing dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- laravel/framework v5.0.5 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
- laravel/framework v5.0.4 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
- laravel/framework v5.0.3 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
- laravel/framework v5.0.2 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
- laravel/framework v5.0.1 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
- laravel/framework v5.0.0 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
- Installation request for laravel/framework 5.0.* -> satisfiable by laravel/framework[v5.0.0, v5.0.1, v5.0.2, v5.0.3, v5.0.4, v5.0.5].
I was wondering if anyone would have a solution to this problem for me.
Thank you.
Joshua Johnson
Mac OS X Yosemite
the requested PHP extension mcrypt is missing from your system
I fixed this error by running the following commands in my Terminal :
brew update
brew upgrade
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
brew install php54-mcrypt
Mostly this problem comes when your MAMP PHP Version not match with command version php. Please have a look in terminal by type php -v then it will show version like php 5.5.*
The problem is you have to set your MAMP PHP Path in ~/.bash_profile like this :
sudo nano ~/.bash_profile
PATH="/Applications/MAMP/bin/php/php5.6.7/bin:$PATH"
That's all, or install mcrypt lib if you want to use your default system php.
The way that I got around this was to install Homestead and make sure to log in to the Homestead Virtual Machine before running any commands. MCrypt is not installed on your local machine, but it is in Homestead.
There's a PHP extension named mcrypt that's often not distributed with stock PHP packages. The mcrypt extension is the defacto standard PHP extension for encryption and hashing functionality. Laravel uses mcrypt.
The built in PHP on OS X does not come with mcrypt installed. This means you either need to
Build and install the mcrypt extension yourself for OS X's built in PHP
Use homebrew to build and install PHP with mycrypt
Use a "pre-compiled for OS X" PHP package.
Use a vagrant virtual machine to run your development stack
I usually chose the third option, and use the lipp.ch package. This is a long running project, and has it's roots in the old entropy.ch packages managed by Marc Liyanage from even further back.