首页 文章

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

提问于
浏览
2

我在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 Modules] 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.

我该如何解决这个问题?

4 回答

  • 0

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

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

    转到http://yourserver/phpmyadmin并查看是否有效 .

  • 1

    以下解决方案对我有用 -

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

    在此文件中进行以下更改

    priority=20
    extension=json.so
    

    如果没有json.ini文件,请创建包含内容的文件

    priority=20
    extension=json.so
    
  • 2

    看起来你是从自定义仓库安装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
    
  • 0

    在我看来这个问题是因为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
    

相关问题