Composer安装:缺少json扩展

ani*_*dis 3 php linux json composer-php

我在Linux终端写道: 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
Run Code Online (Sandbox Code Playgroud)

我这样做了: 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]
Run Code Online (Sandbox Code Playgroud)

当我写 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]
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我还没有在GitHub和Google上找到解决方案

Mos*_*jad 6

我遇到了同样的错误,但不同的是,当我跑php -mjson模块没有上市,所以我只是用下面的命令安装JSON PHP模块:

sudo yum install php-json
Run Code Online (Sandbox Code Playgroud)

错误已修复,我能够安装作曲家。我使用的是 CentOS 8 流,PHP7.2。


Jus*_*ard 5

您可能需要在php.ini文件中启用扩展程序.要找出命令行PHP的位置,请执行

php --ini
Run Code Online (Sandbox Code Playgroud)

你应该看到像这样的一行

加载的配置文件:/path/to/php.ini

打开该文件并查找extension=json.so.如果它在那里,取消注释.如果没有,请将其添加.现在您应该看到json列出的时间,php -m并且作曲家应该工作.