Centos源码安装php7.1.1


安装好了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-devel12

准备php源码包:下载地址http://cn2.php.net/distributions/php-7.1.1.tar.gz 这是其他版本下载地址
使用wget下载

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

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

mkdir /usr/local/php7112

开始安装

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配置文件搜索目录

    编译安装

make && make install12

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

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

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

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

重启Apache服务器

systemctl restart httpd12

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

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

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


安装扩展

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

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

yum -y install openssl openssl-devel 12

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

cd ext/openssl12

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

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

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

/usr/local/php71/bin/phpize1

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

编译安装

./configure --with-php-config=/usr/local/php71/bin/php-configmake && make install123

这是在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.ini1
加上以下内容
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/openssl.so1

重启Apache

systemctl restart httpd12

再次访问上面的test.php文件就可以找到以下信息
CentOS 7编译安装PHP_CentOS PHP_02

完成安装


http://blog.csdn.net/lyp256/article/details/55281486