need JSON extension to install Composer on CentsOS 7 w/ PHP 7

January 3, 2017 182 views

I have a LEMP stack running and I'm working on installing Laravel when I've ran into a snag trying to install Composer.

I execute this: curl -sS | php

and I get this:

Some settings on your machine make Composer unable to work properly.
Make sure that you fix the issues listed below and run this script again:

The json extension is missing.
Install it or recompile php without --disable-json

I recently upgraded PHP to v7.0.14 and didn't know that JSON wasn't installed and/or configured, so I attempted to install the extension via pecl, but is apparently deprecated for PHP v7 in favor of "channel://".

I'm not use to running CentOS so I'm not sure how to tackle this. how do I install the JSON extension to allow Composer to install?


I realized I followed this guide: DO: Upgrade php7 on centos 7

and I found a json package that worked from the IUS Repository where I got my PHP7 install.

this solved it: sudo yum install php70u-json

1 Answer

Glad you've got it solved. The PHP versions that ship with most Linux distributions can be pretty light on extensions/modules by default but there are many pre-built ones available in the distro's repository that can be installed by yum, dnf or apt.

For example, on Ubuntu 16.04 this issue would be solved with:

apt-get update;
apt-get install php7.0-json;
Have another answer? Share your knowledge.