CentOS6.7上編譯安裝php

環境:CentOS6.7,minimal安裝。

前提條件:安裝了編譯環境,安裝了Apache/Nginx,安裝了MySQL/MariaDB。具體安裝見:http://www.www58058.com/16583    http://www.www58058.com/17497 

1、解決依賴關系:


請配置好yum源(系統安裝源及epel源)后執行如下命令:

# yum -y groupinstall "Desktop Platform Development" 
# yum -y install bzip2-devel libmcrypt-devel libxml2-devel
[root@localhost php-5.4.45]# yum -y install bzip2-devel libmcrypt-devel libxml2-devel
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: centos.ustc.edu.cn
 * extras: mirrors.tuna.tsinghua.edu.cn
 * updates: mirrors.tuna.tsinghua.edu.cn
Package bzip2-devel-1.0.5-7.el6_0.x86_64 already installed and latest version
No package libmcrypt-devel available.
Package libxml2-devel-2.7.6-21.el6.x86_64 already installed and latest version
Nothing to do


如果提示說 libmcrypt-devel無法安裝,請安裝epel源

解決方法:

yum  install epel-release  //擴展包更新包
yum  update //更新yum源
yum install libmcrypt libmcrypt-devel mcrypt mhash  就ok了



2、編譯安裝php-5.4.26


首先下載源碼包至本地目錄,下載位置ftp://172.16.0.1/pub/Sources/new_lamp,或者用wget方法下載,具體下載用法見我前面博客。


# tar xf php-5.4.26.tar.bz2
# cd php-5.4.26
# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --with-apxs2=/usr/local/apache24/bin/apxs --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2  --enable-maintainer-zts


說明:

1、這里為了支持apache的worker或event這兩個MPM,編譯時使用了–enable-maintainer-zts選項。

2、如果使用PHP5.3以上版本,為了鏈接MySQL數據庫,可以指定mysqlnd,這樣在本機就不需要先安裝MySQL或MySQL開發包了。mysqlnd從php 5.3開始可用,可以編譯時綁定到它(而不用和具體的MySQL客戶端庫綁定形成依賴),但從PHP 5.4開始它就是默認設置了。

# ./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd
# make -j 10
# make test
# make intall

3、為php提供配置文件

# cp php.ini-production /etc/php.ini

 編輯apache配置文件httpd.conf,以apache支持php


# vim 
/usr/local/apache24/conf/httpd.conf


 1)添加如下二行

AddType application/x-httpd-php  .php
   AddType application/x-httpd-php-source  .phps

 2)定位至DirectoryIndex index.html 

   修改為:

DirectoryIndex  index.php  index.html


而后重新啟動httpd,或讓其重新載入配置文件即可測試php是否已經可以正常使用。



測試頁面index.php示例如下:

<?php
    $link = mysql_connect('127.0.0.1','root','mageedu');
    if ($link)
        echo "Success...";
    else
        echo "Failure...";
    mysql_close();
    phpinfo();
?>

4、安裝phpMyadmin

# unzipphpMyAdmin-4.6.2-all-languages
# mv phpMyAdmin-4.6.2-all-languages /usr/local/apache24/htdocs/pmc
# cd/usr/local/apache24/htdocs/pmc
# cp config.sample.inc.php config.inc.php
# vim /usr/local/apache24/htdocs/pmc/config.inc.php

填充以下參數(這里的參數隨便填寫):

$cfg['blowfish_secret'] = 'sdaf32gretg435yerfwr<F>saadf';

phpmyadmin.png

測試訪問phpMyadmin。訪問phpMyadmin時,mysql需要密碼,空密碼不允許訪問。

給mysql用戶添加密碼,刪除空密碼帳號。

mariadb.png

訪問測試:http://192.168.163.13/pmc

5、安裝xcache,為php加速

1)壓力測試:

ab -c 10 -n 100 http://192.168.163.13/pmc/index.php
ab -c 100 -n 10000 http://192.168.163.13/pmc/index.php

多測試幾次。然后安裝xcache后再壓力測試,對比。

2)安裝xcache:

# tar xf xcache-3.2.0.tar.gz 
# cd xcache-3.2.0
# /usr/local/php/bin/phpize
# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
# make && make install

3)編輯php.ini,整合php和xcache

安裝結束時,會出現類似如下行:

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20131226/

首先將xcache提供的樣例配置導入php.ini?;蛘邉摻╬hp配置文件的分段目錄

[root@localhost xcache-3.2.0]# mkdir /etc/php.d
[root@localhost xcache-3.2.0]# cp xcache.ini /etc/php.d
[root@localhost xcache-3.2.0]# vim /etc/php.d/xcache.ini 
[root@localhost xcache-3.2.0]# service httpd24 reload

說明:xcache.ini文件在xcache的源碼目錄中。


接下來編輯/etc/php.d/xcache.ini,找到zend_extension開頭的行,修改為如下行:

zend_extension = 
/usr/local/php/lib/php/extensions/no-debug-zts-20131226/
xcache.so


注意:如果php.ini文件中有多條zend_extension指令行,要確保此新增的行排在第一位。

再測試對比。

原創文章,作者:Net17-卓格,如若轉載,請注明出處:http://www.www58058.com/17513

(0)
Net17-卓格Net17-卓格
上一篇 2016-06-03 15:00
下一篇 2016-06-03 15:09

相關推薦

  • N22-第八章作業

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。       網橋:網橋是工作在數據鏈路層的設備。用于將兩個LAN連接在一起并按照Mac地址轉發數據。網橋保存著所有與它相連的主機的Mac地址表和端口號并具有學習功能。當網橋收到某個數據包后,能根據目的主機的Mac地址再選擇從哪個端…

    Linux干貨 2016-10-24
  • 初學Linux之標準 I/O 和管道

    前面我們已經了解了文件系統的部分內容,我們可以通過 ls 命令讓當前目錄下的內容都顯示在屏幕上,也可以使用 pwd 命令,顯示當前的所在的目錄路徑。但是我們輸入的是命令,本身并沒有輸入“顯示”這類命令和要求,但是系統就自動的在屏幕上輸出我們命令指定的信息。由此可以想象到,系統自身有默認的一種輸出方式,同時,有輸出就有輸入,當輸入的和系統無關,系統也會自動提示錯誤,以上就是我們接下來要了解的基礎內容——標準 I/O。具體的涉及內容包括:三種 I/O 設備,把 I/O 重定向入文件,tr 命令的使用,使用管道鏈接命令。

    2017-12-02
  • 包管理工具rpm和yum的用法

    包管理工具rpm和yum的用法 一、rpm的用法 rpm原本是Rde Hat Linux發行版專門用來管理Linux各項套件的程序,由于它遵循GPL規則且功能強大方便,因而廣受歡迎。逐漸收到其他發行版的采用,RPM套件管理方式的出現,讓Linux易于安裝、升級,間接提升了Linux的適用性。 rpm用法:rpm [OPTION…] 1、rpm安裝…

    Linux干貨 2016-08-24
  • 一個不想被打斷腿的人的學習宣言

    聽說不曬學習宣言的會被某人打斷腿,忍了好幾天,思考了好幾天,想了想,還是腿比較重要。廢話就不多說了。上圖~~!  生命中總要去經歷一些,好讓自己在老的時候回憶起來,不至于說:“哎,怎么就沒有去拼一下呢!”

    Linux干貨 2016-10-27
  • 馬哥教育網絡班21期+第一周課程練習

    1、描述計算機的組成及其功能。   計算機由五個部分組成:運算器、控制器、存儲器、輸入設備、輸出設備。   控制器和運算器合稱為中央處理單元,即CPU。   功能:     運算器:也稱為算術邏輯單元,是計算機的核心,在控制器的控制下,對取自內存或內部寄存器的數據進行算術運算和邏輯運算。   &nb…

    Linux干貨 2016-07-07
  • N22-℡浮生.若夢 ╮第一周作業

    1.描述計算機的組成及其功能  組成:     硬件       (1).CPU: 是計算機的主要設備之一,功能主要是解釋計算機指令以及處理計算機軟件中的數據.       (2).存儲器:內存,硬盤,存儲器的功能是存儲程序、數據和各種信號…

    Linux干貨 2016-09-19
欧美性久久久久