Установка композитора: расширение json отсутствует

Я написал в Linux Terminal: curl -s https://getcomposer.org/installer | php curl -s https://getcomposer.org/installer | php Он сказал:

  #!/usr/bin/env php 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 

Я сделал это: apt-get install php5-json Итак, я думаю, он установлен. Но странно, когда я пишу php -m Это дает мне список без json:

 [PHP Modules] bcmath bz2 calendar Core ctype date dba dom ereg exif fileinfo filter ftp gettext hash iconv libxml mbstring mhash openssl pcntl pcre Phar posix Reflection session shmop SimpleXML soap sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader xmlwriter zip zlib [Zend Modules] - [PHP Modules] bcmath bz2 calendar Core ctype date dba dom ereg exif fileinfo filter ftp gettext hash iconv libxml mbstring mhash openssl pcntl pcre Phar posix Reflection session shmop SimpleXML soap sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader xmlwriter zip zlib [Zend Modules] 

И когда я пишу php5-fpm -m он отправляет это:

 [PHP Modules] bcmath bz2 calendar cgi-fcgi Core ctype curl date dba dom ereg exif fileinfo filter ftp gettext hash iconv json libxml mbstring mcrypt mhash mysqli openssl pcre PDO pdo_mysql Phar posix Reflection session shmop SimpleXML soap sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader xmlwriter zip zlib [Zend Modules] - [PHP Modules] bcmath bz2 calendar cgi-fcgi Core ctype curl date dba dom ereg exif fileinfo filter ftp gettext hash iconv json libxml mbstring mcrypt mhash mysqli openssl pcre PDO pdo_mysql Phar posix Reflection session shmop SimpleXML soap sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader xmlwriter zip zlib [Zend Modules] 

Что я делаю не так? Я не нашел решение в GitHub и Google

Вероятно, вам нужно включить расширение в файле php.ini . Чтобы узнать, где это для командной строки PHP, сделайте

 php --ini 

Вы должны увидеть строку типа

Загруженный файл конфигурации: /path/to/php.ini

Откройте этот файл и найдите extension=json.so Если он есть, раскомментируйте это. Если нет, добавьте его. Теперь вы должны увидеть, что json указан, когда вы работаете php -m и композитор.

В Ubuntu 14.04 для меня я обнаружил, что разрешения по умолчанию для файла php.ini / etc / php5 / cli / ограничивают файл только для пользователя Root, поэтому, если вы запустите:

 php -m 

как не-root, вы получаете гораздо меньше модулей, чем при запуске sudo php -m

Исправить это было для меня:

 sudo chmod a+rx /etc/php5/cli/* -R 

который предоставляет разрешения на чтение и выполнение для этой папки и ее содержимое для всех.