缺少 json 扩展名。请检查您的 PHP 配置

Posted

技术标签:

【中文标题】缺少 json 扩展名。请检查您的 PHP 配置【英文标题】:The json extension is missing. Please check your PHP configuration 【发布时间】:2014-06-06 19:24:24 【问题描述】:

我从此在 Ubuntu 13.10 x64 上安装 php5.6.0

https://launchpad.net/~ondrej/+archive/php5-5.6a

然后我在尝试午餐时安装了 phpmyadmin phpmyadmin 我收到了这条消息

The json extension is missing. Please check your PHP configuration.

我的 PHP 模块:

bcmath
bz2
calendar
Core
ctype
date
dba
dom
ereg
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
libxml
mbstring
mcrypt
mhash
mysql
mysqli
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
Zend OPcache
zip
zlib

[Zend 模块] Zend OPcache

然后当我使用这个命令安装php-json

sudo apt-get install php5-json

我知道了

The following packages have unmet dependencies:
php5-json : Depends: phpapi-20121212
E: Unable to correct problems, you have held broken packages.

我该如何解决这个问题?

【问题讨论】:

你之前试过sudo apt-get update吗? 【参考方案1】:

看起来您正在从自定义存储库安装 PHP5。我会删除 PHP 并删除那个 repo。

sudo apt-add-repository --remove ppa:ondrej/php5-5.6
sudo apt-get update

现在安装php

sudo apt-get install php5-common php5-json

【讨论】:

【参考方案2】:

以下解决方案对我有用-

cd /etc/php5/mods-available
vi json.ini

在此文件中进行以下更改

priority=20
extension=json.so

如果 json.ini 文件不存在,则创建内容为的文件

priority=20
extension=json.so

【讨论】:

执行此操作后我需要两个步骤:1) 运行“sudo php5enmod json”,然后 2) 重新启动 apache。有了这个,一切都很好。【参考方案3】:

在我看来这个问题是因为 Ubuntu 对 php.ini 文件的默认权限。它只允许 Root 读取/执行包含 in 文件的目录。

您可以通过在执行时观察来轻松验证这一点: sudo php -m

您会看到正确列出的所有已安装和启用的模块。

我在 ubuntu 发行版上找到的解决方案是:

sudo chmod a+rx /etc/php5/cli/
sudo chmod a+rx /etc/php5/cli/php.ini
sudo chmod a+rx /etc/php5/cli/conf.d/

然后你可以通过运行轻松验证:

php -m

【讨论】:

请注意,我建议的 chmod 命令仅添加读取和执行权限。目录需要执行权限才能使用户能够查看目录列表。我相信这些权限是安全的,但我对相反的信息持开放态度。 我还应该补充一点,上面的命令仅针对命令行中的 PHP 用例解决了这个问题。 Apache 使用位于 /etc/php5/apache2/ 中的不同 php.ini 文件【参考方案4】:

加载已安装的模块 jsonmcrypt 后,它对我有用。

$ sudo php5enmod json && sudo php5enmod mcrypt $ sudo service apache2 restart

转到http://yourserver/phpmyadmin 看看它是否有效。

【讨论】:

以上是关于缺少 json 扩展名。请检查您的 PHP 配置的主要内容,如果未能解决你的问题,请参考以下文章

缺少 mysqli 扩展。请检查您的 PHP 配置,Windows 7 [关闭]

缺少 mysqli 扩展。请检查您的 PHP 配置

缺少 mysqli 扩展。请检查您的 PHP 配置

在 Windows 系统上,我收到此错误 - 缺少 mbstring 扩展名。请检查您的 PHP 配置

缺少 mysqli 扩展。请检查您的 PHP 配置,即使文件在定义的路径中可用

缺少 mysqli 扩展.请检查 PHP 配置?