I am developing some PHP on Ubuntu 14.04.4 LS. Running composer install is failing and I can't figure it out. This was working earlier when I was using PHP 5.5.9, but I had to update to at least 5.6 in order to install phpunit.
Running php -v outputs:
PHP 5.6.23-1+deb.sury.org~trusty+2 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
Running which php outputs:
/usr/bin/php
which is kind of suspicious as it doesn't match php -v (/usr/bin has: "php", "php5", and "php5.6")
Here is my composer.json:
{
"require-dev": {
"phpunit/phpunit": "5.4.*"
},
"require": {
"silex/silex": "~1.3",
"stripe/stripe-php": "3.*"
}
}
Running composer install creates this output:
$ composer install
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
- stripe/stripe-php v3.9.2 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.9.1 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.9.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.8.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.7.1 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.7.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.6.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.5.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.4.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.3.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.2.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.14.3 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.14.2 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.14.1 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.14.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.13.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.12.1 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.12.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.11.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.10.1 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.10.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.1.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.0.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.14.2 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- Installation request for stripe/stripe-php 3.* -> satisfiable by stripe/stripe-php[v3.0.0, v3.1.0, v3.10.0, v3.10.1, v3.11.0, v3.12.0, v3.12.1, v3.13.0, v3.14.0, v3.14.1, v3.14.2, v3.14.3, v3.2.0, v3.3.0, v3.4.0, v3.5.0, v3.6.0, v3.7.0, v3.7.1, v3.8.0, v3.9.0, v3.9.1, v3.9.2].
To enable extensions, verify that they are enabled in those .ini files:
- /etc/php/5.6/cli/php.ini
- /etc/php/5.6/cli/conf.d/10-opcache.ini
- /etc/php/5.6/cli/conf.d/10-pdo.ini
- /etc/php/5.6/cli/conf.d/20-calendar.ini
- /etc/php/5.6/cli/conf.d/20-ctype.ini
- /etc/php/5.6/cli/conf.d/20-exif.ini
- /etc/php/5.6/cli/conf.d/20-fileinfo.ini
- /etc/php/5.6/cli/conf.d/20-ftp.ini
- /etc/php/5.6/cli/conf.d/20-gettext.ini
- /etc/php/5.6/cli/conf.d/20-iconv.ini
- /etc/php/5.6/cli/conf.d/20-json.ini
- /etc/php/5.6/cli/conf.d/20-phar.ini
- /etc/php/5.6/cli/conf.d/20-posix.ini
- /etc/php/5.6/cli/conf.d/20-readline.ini
- /etc/php/5.6/cli/conf.d/20-shmop.ini
- /etc/php/5.6/cli/conf.d/20-sockets.ini
- /etc/php/5.6/cli/conf.d/20-sysvmsg.ini
- /etc/php/5.6/cli/conf.d/20-sysvsem.ini
- /etc/php/5.6/cli/conf.d/20-sysvshm.ini
- /etc/php/5.6/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.
I followed these instructions but it doesnt work: Composer install error - requires ext_curl when it's actually enabled
Running php -i | grep php.ini outputs:
Configuration File (php.ini) Path => /etc/php/5.6/cli
Loaded Configuration File => /etc/php/5.6/cli/php.ini
Running: sudo apt-get install php5-curl outputs:
php5-curl is already the newest version.
Running curl -V outputs:
curl 7.35.0 (x86_64-pc-linux-gnu) libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP
Any help is appreciated.
Execute this:
sudo apt-get install php-curl
Some notes:
Running php -i is good. It shows you the php.ini used, so that you know which file to edit.
Running curl -v is not needed, because that's the standalone curl for usage on the CLI and unrelated to the PHP Extension curl.
You checked for php5-curl, that's the needed package. Ok.
What's missing? You need to make sure the extension is also loaded by PHP!
Edit your /etc/php/5.6/cli/php.ini, search for extension, look for php_curl and enable it: extension=php_curl.so.
Then run php -m on the CLI to see the list of loaded modules and ensure that curl is loaded.
Finally, re-run your composer install.
if ubuntu is not a server edition, and the webserver was installed with tasksel
try installing php
apt-get install php
Related
This question already has answers here:
Composer error: "PHP extension fileinfo is missing from your system"
(12 answers)
Closed 3 years ago.
I am trying to install laravel passport on a live hosting but it's giving me this error in the terminal, Help me if possible :)
Problem 1
- league/flysystem 1.0.53 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
- league/flysystem 1.0.53 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
- league/flysystem 1.0.53 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
- Installation request for league/flysystem (locked at 1.0.53) -> satisfiable by league/flysystem[1.0.53].
To enable extensions, verify that they are enabled in your .ini files:
- /opt/alt/php72/etc/php.ini
- /opt/alt/php72/link/conf/alt_php.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
Installation failed, reverting ./composer.json to its original content.```
You must enable the fileinfo extension by removing the starting semicolon ( ; ) from your php.ini
;extension=fileinfo
And then restart your web server
I am trying to install "jenssegers/mongodb": "^3.6" with composer for a laravel 6 project, my command line is looking at (MongoDB shell version v4.2.0), my PHP version is 7.2, I have 7.2 Thread Safe (TS) x86 driver installed and I have the extension enabled in the php.ini file, any help appreciated, thank you.
Problem 1
- mongodb/mongodb 1.5.0 requires ext-mongodb ^1.6 -> the requested PHP extension mongodb is missing from your system.
- mongodb/mongodb v1.5.x-dev requires ext-mongodb ^1.6 -> the requested PHP extension mongodb is missing from your system.
- mongodb/mongodb 1.6.x-dev requires ext-mongodb ^1.6 -> the requested PHP extension mongodb is missing from your system.
- mongodb/mongodb 1.5.0 requires ext-mongodb ^1.6 -> the requested PHP extension mongodb is missing from your system.
- Installation request for mongodb/mongodb ^1.5.0 -> satisfiable by mongodb/mongodb[1.5.0, 1.6.x-dev, v1.5.x-dev].
To enable extensions, verify that they are enabled in your .ini
files:
- C:\WINDOWS\php.ini You can also run php --ini inside terminal to see which files are used by PHP in CLI mode.
Found the solution and It was php.ini file not saving when editing with notepad++. So opened the ini file with admin permission.
I am trying to install laravel on mac using terminal, but I am getting this error. I have php version 7.3 and the latest version of composer. How do I download the php exstensions using terminal on Mac.
Your requirements could not be resolved to an installable set of packages.
Problem 1
- laravel/installer v2.0.1 requires ext-zip * -> the requested PHP extension zip is missing from your system.
- laravel/installer v2.0.1 requires ext-zip * -> the requested PHP extension zip is missing from your system.
- laravel/installer v2.0.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
- laravel/installer v2.0.1 requires ext-zip * -> the requested PHP extension zip is missing from your system.
- Installation request for laravel/installer ^2.0 -> satisfiable by laravel/installer[v2.0.0, v2.0.1].
To enable extensions, verify that they are enabled in your .ini files:
- /usr/local/php5/lib/php.ini
- /usr/local/php5/php.d/10-extension_dir.ini
- /usr/local/php5/php.d/20-extension-opcache.ini
- /usr/local/php5/php.d/40-curl.ini
- /usr/local/php5/php.d/40-openssl.ini
- /usr/local/php5/php.d/50-extension-apcu.ini
- /usr/local/php5/php.d/50-extension-curl.ini
- /usr/local/php5/php.d/50-extension-gmp.ini
- /usr/local/php5/php.d/50-extension-igbinary.ini
- /usr/local/php5/php.d/50-extension-imap.ini
- /usr/local/php5/php.d/50-extension-intl.ini
- /usr/local/php5/php.d/50-extension-mcrypt.ini
- /usr/local/php5/php.d/50-extension-mongodb.ini
- /usr/local/php5/php.d/50-extension-mssql.ini
- /usr/local/php5/php.d/50-extension-pdo_pgsql.ini
- /usr/local/php5/php.d/50-extension-pgsql.ini
- /usr/local/php5/php.d/50-extension-propro.ini
- /usr/local/php5/php.d/50-extension-raphf.ini
- /usr/local/php5/php.d/50-extension-readline.ini
- /usr/local/php5/php.d/50-extension-redis.ini
- /usr/local/php5/php.d/50-extension-xsl.ini
- /usr/local/php5/php.d/99-liip-developer.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
Installation failed, reverting ./composer.json to its original content.
Was recently experiencing the same issue. This is what fixed it for me:
download PHP from brew (brew install php)
make system use that version of PHP instead of the pre-installed PHP
edit ~/.zshrc or ~/.bashrc to add the following:
export PATH="/usr/local/opt/php#7.3/bin:$PATH"
export PATH="/usr/local/opt/php#7.3/sbin:$PATH"
Then run
source ~/.zshrc
or
source ~/.bashrc
After I did that Laravel installed with no issues!
For user profile I want to create profile picture, but when I write composer require intervention/image in terminal I get this error:
- intervention/image 2.4.1 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
- intervention/image 2.4.0 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
- Installation request for intervention/image ^2.4 -> satisfiable by intervention/image[2.4.0, 2.4.1].
To enable extensions, verify that they are enabled in your .ini files:
- C:\AppServ\php5\php.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
Installation failed, reverting ./composer.json to its original content.
Read what Composer suggests. Just install the PHP extenion fileinfo. Check the installation guide on PHP.net: http://php.net/manual/en/fileinfo.installation.php
Make sure you have the php_fileinfo.dll in your php/ext folder. Then uncomment this line in your php.ini
extension=php_fileinfo.dll
Problem 1
Installation request for laravel/framework v5.2.16 -> satisfiable by laravel/framework[v5.2.16].
laravel/framework v5.2.16 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
To enable extensions, verify that they are enabled in those .ini files:
/etc/php/7.0/cli/php.ini
/etc/php/7.0/cli/conf.d/10mysqlnd.ini
/etc/php/7.0/cli/conf.d/10opcache.ini
/etc/php/7.0/cli/conf.d/10pdo.ini
/etc/php/7.0/cli/conf.d/20calendar.ini
/etc/php/7.0/cli/conf.d/20ctype.ini
/etc/php/7.0/cli/conf.d/20exif.ini
/etc/php/7.0/cli/conf.d/20fileinfo.ini
/etc/php/7.0/cli/conf.d/20ftp.ini
/etc/php/7.0/cli/conf.d/20gettext.ini
/etc/php/7.0/cli/conf.d/20iconv.ini
/etc/php/7.0/cli/conf.d/20json.ini
/etc/php/7.0/cli/conf.d/20mysqli.ini
/etc/php/7.0/cli/conf.d/20pdo_mysql.ini
/etc/php/7.0/cli/conf.d/20phar.ini
/etc/php/7.0/cli/conf.d/20posix.ini
/etc/php/7.0/cli/conf.d/20readline.ini
/etc/php/7.0/cli/conf.d/20shmop.ini
/etc/php/7.0/cli/conf.d/20sockets.ini
/etc/php/7.0/cli/conf.d/20sysvmsg.ini
/etc/php/7.0/cli/conf.d/20sysvsem.ini
/etc/php/7.0/cli/conf.d/20sysvshm.ini
/etc/php/7.0/cli/conf.d/20tokenizer.ini
/etc/php/7.0/cli/conf.d/20zlib.ini
You can also run php --ini inside terminal to see which files are used by PHP in CLI mode.
You need to recompile php with mbstring. (out of the scope of this question)
here's a php7 fork of mbstring