红联Linux门户
Linux帮助

在Kali Linux下安装Discuz需要安装php5.6,该函数需要PHP支持XML

发布时间:2017-04-03 09:22:54来源:blog.csdn.net/caiqiiqi作者:caiqiiqi
今天准备在一个之前同学不要的给我用的笔记本上装Discuz,结果碰到这个问题:
在Kali Linux下安装Discuz需要安装php5.6,该函数需要PHP支持XML
在Kali Linux下安装Discuz需要安装php5.6,该函数需要PHP支持XML
函数依赖性检查:该函数需要PHP支持XML。请联系空间商,确定开启了此项功能。
 
搜索无果,可能是PHP版本问题。于是看到[Tutorial] Install php5.6 on Kali Linux 2016.2,解决方案如下:
 
将这两行加到sources.list
deb http://packages.dotdeb.org wheezy-php56-zts all
deb-src http://packages.dotdeb.org wheezy-php56-zts all
然后apt-get update.
 
然后安装
apt-get -y install php5 libapache2-mod-php5 php5-mysql php5-curl php5-gd php5-intl php5-imap php5-mcrypt  php5-pspell php5-recode php5-tidy php5-xmlrpc php5-xsl
 
然后将php5.6设置为默认的php版本。
a2dismod php7.0 
a2enmod php5.6 
service apache2 restart
ln -sfn /usr/bin/php5.6 /etc/alternatives/php
 
注意以上不一定是php5.6,比如我这里就是php5。灵活调整。
 
注:发现加了上面那个源依然不行,于是又找到
https://github.com/g0tmi1k/os-scripts/issues/22
说是要加上这句
deb http://old.kali.org/kali sana main non-free contrib
 
然后再apt-get update。然后发现访问这个源非常慢,只有大概1KB/s, 于是加上本地代理之后,发现也不过50KB/s。
然后这几个新加的源都加入之后,发现
root@kali:~# apt-get update
获取:1 http://packages.dotdeb.org wheezy-php56-zts InRelease [5,988 B]
忽略:1 http://packages.dotdeb.org wheezy-php56-zts InRelease
获取:2 http://old.kali.org/kali sana InRelease [20.3 kB]
命中:3 http://ftp.yzu.edu.tw/Linux/kali kali-rolling InRelease
命中:4 http://ftp.yzu.edu.tw/Linux/kali kali-bleeding-edge InRelease
获取:5 http://old.kali.org/kali sana/main i386 Packages [12.8 MB]
获取:6 http://old.kali.org/kali sana/non-free i386 Packages [153 kB]
获取:7 http://old.kali.org/kali sana/contrib i386 Packages [86.5 kB]
已下载 12.5 MB,耗时 2分 54秒 (71.4 kB/s)
正在读取软件包列表... 完成
W: GPG 错误:http://packages.dotdeb.org wheezy-php56-zts InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY E9C74FEEA2098A6E
W: 仓库 “http://packages.dotdeb.org wheezy-php56-zts InRelease” 没有数字签名。
N: 无法认证来自该源的数据,所以使用它会带来潜在风险。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
 
于是只好删除那两个php的源。然后再apt-get update。
然后再
$ apt-get -y install php5 libapache2-mod-php5 php5-mysql php5-curl php5-gd php5-intl php5-imap php5-mcrypt  php5-pspell php5-recode php5-tidy php5-xmlrpc php5-xsl
root@kali:~# which php5
/usr/bin/php5
root@kali:~# php --version
PHP 7.0.16-3 (cli) (built: Feb 22 2017 10:03:06) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.16-3, Copyright (c) 1999-2017, by Zend Technologies
root@kali:~# a2dismod php7.0
Module php7.0 already disabled
root@kali:~# a2enmod php5.6
ERROR: Module php5.6 does not exist!
root@kali:~# a2enmod php5
Module php5 already enabled
root@kali:~# php --version
PHP 7.0.16-3 (cli) (built: Feb 22 2017 10:03:06) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.16-3, Copyright (c) 1999-2017, by Zend Technologies
root@kali:~# ll /etc/alternatives/ph
phar            phar.1.gz       phar.phar       phar.phar.1.gz  php             php.1.gz
root@kali:~# ll /etc/alternatives/php
-bash: ll: 未找到命令
root@kali:~# ls -al /etc/alternatives/php
lrwxrwxrwx 1 root root 15 4月   1 20:19 /etc/alternatives/php -> /usr/bin/php7.0
root@kali:~# ln -sfn /usr/bin/php5 /etc/alternatives/php
root@kali:~# ls -al /etc/alternatives/php
lrwxrwxrwx 1 root root 13 4月   2 15:49 /etc/alternatives/php -> /usr/bin/php5
root@kali:~# php -v
PHP 5.6.7-1 (cli) (built: Mar 24 2015 12:23:41)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2015, by Zend Technologies
root@kali:~# history|grep apt-get|tail 2
tail: 无法打开'2' 读取数据: 没有那个文件或目录
root@kali:~# history|grep apt-get|tail -2
56  history|grep apt-get|tail 2
57  history|grep apt-get|tail -2
root@kali:~# history|grep apt-get|tail -5
42  apt-get update
43  apt-get -y install php5 libapache2-mod-php5 php5-mysql php5-curl php5-gd php5-intl php5-imap php5-mcrypt  php5-pspell php5-recode php5-tidy php5-xmlrpc php5-xsl
56  history|grep apt-get|tail 2
57  history|grep apt-get|tail -2
58  history|grep apt-get|tail -5
 
刚才把Discuz的源码上传到服务器上,由于我是直接scp -r把文件夹的所有文件直接通过网络传过去,而不是以压缩包的形式,于是有很多小文件,这个过程得持续几分钟,我等得有些不耐烦了,于是在传输的过程中我直接chmod -R 777 bbs。在这个过程中我是感觉到了不应该这样,于是后来查看了一下各个文件的权限,果然有问题,后来传输的文件并没有被设置成777权限。以后注意。
在Kali Linux下安装Discuz需要安装php5.6,该函数需要PHP支持XML
 
于是需要再执行一遍命令。
root@kali:/var/www# chmod -R 777 bbs
root@kali:/var/www# find bbs -perm 644|wc -l
0
 
OK,终于安装好了。
在Kali Linux下安装Discuz需要安装php5.6,该函数需要PHP支持XML
继续探索吧。
 
安装时留下的一个图形界面的终端,没有关闭应该还在。
在Kali Linux下安装Discuz需要安装php5.6,该函数需要PHP支持XML
当然可以kill掉它:
pkill -t tty2
 
本文永久更新地址:http://www.linuxdiyf.com/linux/29698.html