Centos7安装php,并扩展mysql,ZendGuardLoader和fileinfo

之前在搭建lamp环境时在安装php这环节花了不少时间,在此记录一下,我这里安装的php5.6.30版本,其实安装方法大同小异,废话少说,直接来
1:运行以下命令安装依赖包

yum install libmcrypt libmcrypt-devel mhash mhash-devel libxml2 libxml2-devel bzip2 bzip2-devel -y

2:依次运行以下命令下载稳定版源码包并解压、编译

注意:下载PHP稳定版源码包需要良好的网络环境。如果下载失败,请先运行命令cd,然后运行命令rm -rf mirror后,重新下载PHP稳定版源码包。

wget https://cn2.php.net/get/php-5.6.30.tar.bz2/from/this/mirror
cp mirror php-5.6.30.tar.bz2

解压到/usr/local/src目录

tar xvf php-5.6.30.tar.bz2 -C /usr/local/src
cd /usr/local/src/php-5.6.30

在执令以下这堆命令

./configure --prefix=/usr/local/php \
--with-config-file-scan-dir=/etc/php.d \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/etc \
--with-pdo-mysql=mysqlnd \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-mbstring \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--with-openssl \
--enable-xml \
--enable-sockets \
--enable-fpm \
--with-bz2

或许会出现这些报错

configure: error: wrong mysql library version or lib not found. Check config

网上说把以上命令中的“–with-mysqli=/usr/local/mysql/bin/mysql_config \”
改成自己mysql_config的路径可以解决,但是我试了还是不行,因为我的mysql5.7是之前在官网下载压缩包事先安装好的,这个问题我是这样解决的:

把“–with-mysqli=/usr/local/mysql/bin/mysql_config \”改成“with-mysqli \”,即是不写路径,然后就可以安装成功了(网上说是因为php 本身有这个模块 ,不用再添加mysql 的配置文件路径)

如图
在这里插入图片描述
然后再执行(这步需要点时间)

make && make install

若ECS实例规格内存较小,配置时可关闭不需要的PHP扩展,节省内存。例如,在./configure命令中添加–disable-fileinfo选项,关闭fileinfo扩展。

3:运行以下命令复制PHP的配置文件

cp php.ini-production /etc/php.ini

4:运行命令vi /usr/local/apache2/conf/httpd.conf打开Apache配置文件,按下i键开始编辑,这里是我自己apache服务器的安装路径,改成自己的即可
找到ServerName参数,添加ServerName localhost:80。
在这里插入图片描述
找到Directory参数,在Require all denied前面添加#,然后添加Require all granted
在这里插入图片描述
找到DirectoryIndex index.html,将它替换为DirectoryIndex index.php index.html

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

找到如下内容:

	AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

添加以下内容

	AddType application/x-httpd-php .php
	AddType application/x-httpd-php-source .phps

添加后是这样的

在这里插入图片描述
然后保存退出即可,先按esc,再:wq

5:添加Apache对解析PHP的支持。
运行以下命令打开index.php文件

vi /usr/local/apache2/htdocs/index.php

按下i键进入编辑模式,并添加以下内容:

<?php
phpinfo();
?>

按下Esc键,然后输入:wq并回车以保存并关闭index.php文件,并重启apache即可

systemctl restart httpd

然后再浏览器输入服务器地址,效果如图
在这里插入图片描述
到此php5.6.30安装成功

6:添加mysql扩展
1 进入php的安装包目录

/usr/local/src/php-5.6.30/ext/mysql

2执行phpize

/usr/local/php/bin/phpize

3执行./configure命令,这里把php-config文件和mysql目录换成自己的所在目录即可

./configure --with-php-config=/usr/local/php/bin/php-config --with-mysql=/usr/local/mysql/mysql-5.7.27/

4再依次执行以下命令

make
make install

然后在/usr/local/src/php-5.6.30/ext/mysql/modules下看到了mysql.so

5 修改php.ini,添加extension = mysql.so,将mysql.so拷贝到extension_dir目录下,extension_dir在php.ini中设置,如下图
在这里插入图片描述

测试是否成功,这一步很重要,编辑/usr/local/apache2/htdocs下的index.php,这里换成自己apache的路径即可,写如下代码测试

<?php
#phpinfo();
$con = mysql_connect('localhost','用户名','密码');
if($con){
 die('ok');
}else{
 die('Could not connect: ' . mysql_error());
}
?>

重启apache生效

systemctl restart httpd

再浏览器输入地址,看见ok说明成功
在这里插入图片描述
7:解决在任意目录输入php命令提示“-bash: php: command not found”

在etc/profile文件下增加以下代码(换成自己安装目录的):

export PATH=$PATH:/usr/local/php/bin

然后使文件生效

 source /etc/profile

测试效果,输入php -v,成功

在这里插入图片描述

8:安装ZendGuardLoader插件
Zend Guard是目前市面上比较成熟的PHP源码加密产品,加密之后的PHP代码需要启用ZendGuardLoader插件才能正确解析,这里php是5.6,故插件也安装5.6的。

下载

wget http://downloads.zend.com/guard/7.0.0/zend-loader-php5.6-linux-x86_64_update1.tar.gz

解压

tar xf zend-loader-php5.6-linux-x86_64_update1.tar.gz

这里出点问题,就是一直无法加载ZendGuardLoader.so,但是路径是对的,可能是因为zend是编译的时候没有加参数项,用不了,最后是大佬帮我用yum命令重新安装lamp环境,很感谢大佬,yum命令安装方便省事,谨记!

9:扩展fileinfo
为什么扩展fileinfo?
fileinfo的函数通过在文件的给定位置查找特定的魔术字节序列 来猜测文件的内容类型以及编码(即获取文件的MIME信息)

这里需换成自己的目录位置,不知道的可以通过find 命令进行查看,例如

find / -name fileinfo 

1在源码目录下找到fileinfo目录并进入

cd /usr/local/src/php-5.6.30/ext/fileinfo

2在该目录下执行phpize安装扩展。

/usr/local/php/bin/phpize

执行后会出现以下代码

Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226

3编译

./configure --with-php-config=/usr/local/php/bin/php-config

4安装

make && make install

如图效果,说明安装成功
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值