标签:
最近在尝试yii 2.0,我所使用的系统是centos,通过yum安装的php是5.2,而yii2.0至少需要5.4
在网上找了一些安装方式都失败了,包括修改yum的源来更新的方式也不成功,于是只能通过最原始的方式下载源码来编译安装了。
步骤如下
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扩展依赖
yum install -y libxml2-devel openssl-devel libcurl-devel libjpeg-devel libpng-devel libicu-devel openldap-devel
去php官网http://php.net/downloads.php 查看所要下载的tar.gz链接
然后使用wget下载最新源码,解压缩,运行configure-make-make install
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-gettext\
--with-mhash\
--with-ldap\
--with-apxs2=/usr/local/apache/bin/apxs
注意最后一行指向apxs位置,如果不知道就find / -name "apxs"找一下,这样php在编译之后才会生成libphp5.so供apache调用
第一行是安装位置,我安装到了/data/soft/php目录下,可以自己更改
然后 make&make instgall
编译安装完成之后,需要把安装的etc目录下php-fpm.conf.default配置示例文件拷贝并改名一个作为配置文件
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()来查看)
找到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信息
CentOS下PHP 5.6编译安装
标签:
原文地址:http://my.oschina.net/u/150705/blog/473836