2013-10-24 2 views
28

Я пытаюсь установить композитор на моем Ubuntu 13.10 машине, но следующее сообщение об ошибке:не удается установить композитор - расширение JSON отсутствует

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 

php --version дает мне PHP 5.5.3-1ubuntu2 (cli), так что я думаю, что она должна иметь Установлено расширение json.

+0

выдайте команду 'PHP -m', то, пожалуйста, вставить список установленных модулей (JSON должен быть один из них) – skrilled

+0

** [PHP модули] ** BCMath BZ2 календаря Ядра CType даты дБА дом EREG FileInfo EXIF ​​ фильтр FTP Gettext хэш Iconv LibXML MBstringMhash MySQL MySQLi OpenSSL pcntl PCRE ПДО PDO_MySQL Phar POSIX Readline Отражение сессия shmop SimpleXML мыло розетки SPL стандарт sysvmsg sysvsem sysvshm токенизатор WDDX XML xm lreader XmlWriter Зенд OPcache почтовый Zlib ** [Zend Modules] ** Zend OPcache –

+1

простите меня, что я админ CentOS в первую очередь, и только есть пара Ubuntu серверов, которые довольно статичным. Я считаю, что вы хотите сделать следующее: sudo apt-get install php5-json – skrilled

ответ

47

просто установить модуль:

sudo apt-get install php5-json 

EDIT - Причина:

Смотрите Heanzo Beanzo Комментарий:

Он был удален в последние пакеты из-за лицензии конфликт see bug on php.net.

+0

Это работает спасибо. Но разве это не расширение json, которое предполагается связать и скомпилировать в PHP по умолчанию? –

+0

Ядро php довольно мало, все сгруппированы в модули. если вы компилируете исходный код, многие из этих модулей (например, json) выбираются по умолчанию. но, похоже, разработчик пакета хочет дать пользователю больше контроля над тем, что он хочет установить. это хорошо в большинстве случаев. – Rufinus

+7

Он был удален в последних пакетах из-за конфликта лицензий (см. Https://bugs.php.net/bug.php?id=63520). –

Смежные вопросы