缺少 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】:加载已安装的模块 json
和 mcrypt
后,它对我有用。
$ sudo php5enmod json && sudo php5enmod mcrypt $ sudo service apache2 restart
转到http://yourserver/phpmyadmin 看看它是否有效。
【讨论】:
以上是关于缺少 json 扩展名。请检查您的 PHP 配置的主要内容,如果未能解决你的问题,请参考以下文章
缺少 mysqli 扩展。请检查您的 PHP 配置,Windows 7 [关闭]
在 Windows 系统上,我收到此错误 - 缺少 mbstring 扩展名。请检查您的 PHP 配置