我从这个
在Ubuntu 13.10 x64上安装PHP5.6.0https://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.
如何解决此问题?
答案 0 :(得分:2)
以下解决方案适合我 -
cd /etc/php5/mods-available
vi json.ini
在此文件中,以下更改
priority=20
extension=json.so
如果没有json.ini文件,请创建包含内容为
的文件priority=20
extension=json.so
答案 1 :(得分: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 :(得分: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
答案 3 :(得分:0)
加载已安装的模块json
和mcrypt
后,它对我有用。
$ sudo php5enmod json && sudo php5enmod mcrypt $ sudo service apache2 restart
转到http://yourserver/phpmyadmin并查看是否有效。