我在 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
我这样做了: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]
当我写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]
我做错了什么?我还没有在 GitHub 和 Google
我遇到了同样的错误,但不同之处在于当我运行php -m
时没有列出json
模块,所以我只是使用以下命令安装了 json PHP 模块:
sudo yum install php-json
错误已修复,我能够安装作曲家。我使用的是 CentOS 8 流,PHP7.2。
在php.ini
文件中启用扩展名。要找出命令行PHP的位置,请执行
php --ini
你应该看到一行类似
加载的配置文件:/path/to/php.ini
打开该文件并查找extension=json.so
。如果存在,请取消注释。如果没有,请添加它。现在你应该看到json
当你做php -m
和作曲家应该工作时列出。
bug php 不加载扩展安装
创建文件 php.ini
# /etc/php/7.2/cli/conf.d/php.ini
extension=json.so
extension=phar.so
extension=iconv.so
对我来说,在 ubuntu 14.04 上,我发现 php.ini 文件/etc/php5/cli/的默认权限将文件限制为仅限 Root 用户,因此如果您运行:
php -m
作为非 root,您获得的模块比运行时少得多 sudo php -m
对此的修复是让我执行的:
sudo chmod a+rx /etc/php5/cli/* -R
这将向所有人授予对该文件夹及其内容的读取和执行权限。
在 PHP 7.2 的 Centos 8 上,经过全面的研究,我得出结论,修复它的唯一可靠方法是重新安装 PHP 及其最新版本。(7.4 对我来说是最新版本)在这里,您可以找到具有相同结论的其他人;Laracasts
您可以使用 :-
sudo apt-get install php-json
命令。并更正目录。所以你的错误就会解决。
$client->transfers->create(
[
"targetAccount" => "account id",
"quoteUuid" => "generated quote id",
"customerTransactionId" => "transaction id",
"details" => [
"reference" => "Company X",
"transferPurpose"=> "verification.transfers.purpose.pay.bills",
"sourceOfFunds"=> "verification.source.of.funds.other"
]
]
);