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信息
相關文章
相關標籤/搜索