CentOS下PHP 5.6编译安装

最近在尝试yii 2.0,我所使用的系统是centos,经过yum安装的php是5.2,而yii2.0至少须要5.4 php

在网上找了一些安装方式都失败了,包括修改yum的源来更新的方式也不成功,因而只能经过最原始的方式下载源码来编译安装了。 mysql

步骤以下 c++

1. 若是要apache支持php,则首先须要安装apache
yum install httpd




以后须要安装
yum install httpd-devel




这样系统上才能安装apxs,后面php要用到
find / -name "apxs" 找一下apxs的位置

2. 安装php

# c和c++编译器
yum install -y gcc gcc-c++




# PHP扩展依赖 sql

yum install -y libxml2-devel openssl-devel libcurl-devel libjpeg-devel libpng-devel libicu-devel openldap-devel freetype freetype-devel




去php官网http://php.net/downloads.php 查看所要下载的tar.gz连接 shell

而后使用wget下载最新源码,解压缩,运行configure-make-make install apache


configure指令
./configure --prefix=/data/soft/php\
 --with-libdir=lib64\
 --enable-fpm\
 --with-fpm-user=php-fpm\
 --with-fpm-group=www\
 --enable-mysqlnd\
 --with-mysql=mysqlnd\
 --with-mysqli=mysqlnd\
 --with-pdo-mysql=mysqlnd\
 --enable-opcache\
 --enable-pcntl\
 --enable-mbstring\
 --enable-soap\
 --enable-zip\
 --enable-calendar\
 --enable-bcmath\
 --enable-exif\
 --enable-ftp\
 --enable-intl\
 --with-openssl\
 --with-zlib\
 --with-curl\
 --with-gd\
 --with-zlib-dir=/usr/lib\
 --with-png-dir=/usr/lib\
 --with-jpeg-dir=/usr/lib\
 --with-freetype-dir=/usr/lib\
 --with-gettext\
 --with-mhash\
 --with-ldap\
 --with-apxs2=/usr/sbin/apxs





注意最后一行指向apxs位置,若是不知道就find / -name "apxs"找一下,这样php在编译以后才会生成libphp5.so供apache调用 centos

第一行是安装位置,我安装到了/data/soft/php目录下,能够本身更改 yii2


而后 make&make instgall


编译安装完成以后,须要把安装的etc目录下php-fpm.conf.default配置示例文件拷贝并更名一个做为配置文件,下面命令中的目录位置根据本身的状况修改:
app

cp /data/soft/php/etc/php-fpm.conf.default /data/soft/php/etc/php-fpm.conf



修改这个文件,找到 user=xxx 和group=xxx 修改成user=root   group=root 这样能够用root来运行
(使用whoami和groups查看当前用户的user和group)

而后再拷贝源码目录下的php.ini-production到php安装目录下的lib下,更名为php.ini为php配置文件(php.ini的默认路径能够经过写一个index.php文件,用phpinfo()来查看) yii

cp /data/tmp/php-7.0.1/php.ini-production /data/soft/php/lib/php.ini





找到php-fpm  运行  php-fpm -R 这样能以root用户启动

php-fpm关闭时,先用 ps aux|grep php-fpm找到pid
而后  kill -INT php-fpm的pid   便可关闭


而后修改apache的http.conf配置文件
加入
LoadModule php5_module modules/libphp5.so
注意检查一下配置文件里是否已经有了该行,若是重复了会报错。
加入
AddType application/x-httpd-php .php
这样php扩展名的文件才能被apache执行

重启httpd服务
写一个index.php用phpinfo()看看效果,若是一切正常能够看到php信息
相关文章
相关标签/搜索