centos源码安装php7.1.1

xiaoxiao2021-02-28  74

安装好了Apache和mariadb,我的lamp系统就差最后一个p—–php了.

安装准备

依赖包的安装: php需要php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel 这些依赖,还是用yum安装

yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel 12

准备php源码包:下载地址http://cn2.php.net/distributions/php-7.1.1.tar.gz 这里写链接内容  使用wget下载

wget http://cn2.php.net/distributions/php-7.1.1.tar.gz 12

或者在桌面环境下载好再上传到服务器.  创建php安装目录

mkdir /usr/local/php71 12

开始安装

tar -xf php-7.1.1.tar.gz #解压源码包 cd php-7.1.1 #进入源码包目录 ./configure --prefix=/usr/local/php71/ --with-apxs2=/usr/local/apache24/bin/apxs --enable-mbstring --with-curl --with-gd --enable-fpm --enable-mysqlnd --with-pdo-mysql=mysqlnd --with-config-file-path=/usr/local/php71/etc/ --with-mysqli=mysqlnd #配置编译参数 123 –prefix 安装目录 –with-apxs2 apache文件所在目录 –enable-mbstring 支持mbstring –with-curl 支持curl –with-gd 支持gd –enable-fpm 支持fpm –enable-mysqlnd –with-pdo-mysql pdo支持

–config-file-path php配置文件搜索目录

如果出现

Sorry, I cannot run apxs.  Possible reasons follow:

就进行apxs安装:{

#yum install -y perl* 

#yum install -y httpd-devel

#find / -name apxs  得到的路径是:/usr/sbin/apxs

于是修改--with-apsx2=/usr/sbin/apxs指定到正确路径

再重新执行上一步。

}

编译安装

make && make install 12

等待时间比较长..  在源码包中有两个配置文件—— php.ini-development(用于开发环境)和php.ini-production(用于生产环境) ,这里就我使用开发环境,把他拷贝到指定目录(上面–config-file-path指定的目录)更名为php.ini

cp php.ini-development /usr/local/php71/etc/php.ini 1

有需要还可以对php.ini文件进行修改.

对Apache配置文件httpd.conf进行修改添加以下内容对 php文件进行处理
Addtype application/x-httpd-php .php 1

重启Apache服务器

systemctl restart httpd 12

下面我们可以在网页目录下创建一个test.php文件里面的内容为:<?php phpinfo(); ?>

网页目录在httpd.conf可以找到,默认在/var/www/html

echo "<?php phpinfo(); ?>" >>/data/web/test.php #输出测试文件到网页根目录 123

然后访问这些页面 http://115.159.xx.xx/test.php 看到  就说明安装成功了


安装扩展

当安装完成后我们要安装扩展时就要重新编译xxxxxx.so的扩展文件 这里我以安装openssl扩展为例子:

还是先安装依赖openssl和openssl-devel…

yum -y install openssl openssl-devel 12

源码包的 ext目录下着许多的文件夹他们都是php扩展openssl也在其中,进入到openssl文件夹

cd ext/openssl 12

用ls查看目录的文件如果有 config0.m4 文件则把他拷贝为 config.m4 保证在openssl目录下有 config.m4文件

ls #查看当前目录的内容 cp config0.m4 config.m4 #拷贝 config0.m4为 config.m4 123

调用我们编译好的 phpize 它在php安装目录下的bin目录中

/usr/local/php71/bin/phpize 1

这时会生成很多文件我们可以用ls查看 其中有我们编译需要的configure文件表

编译安装

./configure --with-php-config=/usr/local/php71/bin/php-config make && make install 123

这是在php的扩展目录(默认为php安装目录下的lib/php/extensions/no-debug-zts-xxx目录,我的是/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012)会有相应的.so文件也就是openssl.so,在php.ini文件里面加上该扩展

编辑php.in
vim /usr/local/php71/etc/php.ini 1
加上以下内容
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/openssl.so 1

重启Apache

systemctl restart httpd 12

再次访问上面的test.php文件就可以找到以下信息 

完整完成

转载请注明原文地址: https://www.6miu.com/read-48136.html

最新回复(0)