編譯安裝PHP-5.4.13

一.簡介

  PHP官方網站: http://php.net

  本次安裝的版本: php-5.4.13


二.下載, 安裝PHP

  [root@caiya software]# wget http://museum.php.net/php5/php-5.4.13.tar.gz

  [root@caiya software]# tar zxvf php-5.4.13.tar.gz

  [root@caiya software]# cd php-5.4.13

    

  # PHP 常用安裝選項解釋

  # PHP安裝路徑

  --prefix=/usr/local/php

  # mysql安裝路徑

  --with-mysql=/usr/local/mysql

  # 支持openssl

  --with-openssl

  # mbstring庫,Multi-Byte String即各種語言都有自己的編碼

  --enable-mbstring

  # 支持freetype功能, 可移植的自由的字體庫

  --with-freetype-dir

  # 支持圖片

  --with-jpeg-dir

  # 支持圖片

  --with-png-dir

  # 通用格式的壓縮庫, 先壓縮再傳送, 節省帶寬

  --with-zlib

  # xml語言庫的路徑

  --with-libxml-dir=/usr

  # 支持xml

  --enable-xml

  # 讓php支持sockets通訊

  --enable-sockets

  # 支持mcrypt方式加密

  --with-mcrypt

  # PHP配置文件的存放目錄

  --with-config-file-path=/etc

  # 壓縮庫

  --with-bz2

  # 讓PHP支持php.d目錄的配置文件

  --with-config-scan-dir=/etc/php.d

  # 用mysqli方式連接mysql

  --with-mysqli=/usr/local/mysql/bin/mysql_config

  # 將PHP編譯成apache的模塊(重點)

  --with-apxs2=/usr/local/apache/bin/apxs

  # 取決於apache的mpm的類型. 

  # 如果使用prefork就不需要開啓此項, 如果是work, evevt則要開啓此項

  # 如果是線程方式工作, 必須要開啓此項

  --enable-maintainer-zts


  # 配置安裝選項之前先查看httpd工作模式, 再決定特殊選項

  # 如: --enable-maintainer-zts

  [root@caiya bin]# pwd

  /usr/local/apache-2.4/bin

  [root@caiya bin]# ./apachectl -M | grep mpm

  21: mpm_event_module (shared)

  [root@caiya bin]#

  # 當前event模式(正是我們實驗環境需要的模式)

  # 如果是prefork模式,需要修改httpd的配置文件

  # httpd的配置文件路徑: /etc/httpd/httpd.conf

  # 演示修改配置文件, 需要什麼模式, 去掉前面的#號, 註釋掉原有的模式

  # 修改完成後, 保存, 重啓httpd服務.


  [root@caiya /]# vim /etc/httpd/httpd.conf 

  LoadModule mpm_event_module modules/mod_mpm_event.so

  #LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

  #LoadModule mpm_worker_module modules/mod_mpm_worker.so

  [root@caiya bin]# ./apachectl restart

  # 此處修改方法基於apache.2.4.x的版本


  # 配置PHP選項

  [root@caiya php-5.4.13]# ./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/apache-2.4/bin/apxs \

  --with-mcrypt \

  --with-config-file-path=/etc \

  --with-config-file-scan-dir=/etc/php.d \

  --with-bz2 \

  --enable-maintainer-zts

        

  #配置的時候, 需要安裝以下三個包: 

  libmcrypt-2.5.8.tar.gz

  mhash-0.9.9.9.tar.gz

  mcrypt-2.6.8.tar.gz


  1.安裝 libmcrypt-2.5.8.tar.gz

  [root@caiya software]# tar zxvf libmcrypt-2.5.8.tar.gz

  [root@caiya software]# cd libmcrypt-2.5.8

  [root@caiya software]# ./configure

  # 常見錯誤一:

  configure: error: C++ compiler cannot create executables

  # 解決辦法: 

  shell> yum install gcc-c++ -y

  # 繼續配置

  [root@caiya software]# make

  [root@caiya software]# make install


  2.安裝 mhash-0.9.9.9.tar.gz

  [root@caiya software]# tar zxvf mhash-0.9.9.9.tar.gz

  [root@caiya software]# cd mhash-0.9.9.9

  [root@caiya software]# ./configure

  [root@caiya software]# make && make install


  3.安裝 mcrypt-2.6.8.tar.gz

  [root@caiya software]# tar zxvf mcrypt-2.6.8.tar.gz

  [root@caiya software]# cd mcrypt-2.6.8

  [root@caiya software]# ./configure LD_LIBRARY_PATH=/usr/local/lib

  [root@caiya software]# make && make install


  # 繼續配置

  # 配置的時候常見報錯

  # 報錯一:

  configure: error: xml2-config not found. Please check your libxml2 installation.

  [root@caiya software]# yum install libxml2 -y

  [root@caiya software]# yum install libxml2-devel -y

  # 報錯二: 

  configure: error: Please reinstall the BZip2 distribution

  [root@caiya software]# yum install bzip2 -y

  [root@caiya software]# yum install bzip2-devel -y

  # 報錯三(64位操作系統):         

  configure: error: mysql configure failed. Please check config.log for more information

  # 配置成功, 編譯, 安裝

  [root@caiya php-5.4.13]# make && make install

  # 此到PHP已經安裝完成


三.配置 PHP

  # php的安裝目錄在: /usr/local/php

  # php的配置文件需要手動去創建, php編譯目錄裏面有兩個配置文件:

  php.ini-development  開發環境

  php.ini-production  生產環境

  # 我們這裏選擇"生產環境"的配置文件並將php.ini-production複製到/etc/下命名爲php.ini

  [root@caiya php-5.4.13]# cp php.ini-production /etc/php.ini

        

  # 此時需要修改httpd的配置文件, 讓httpd以模塊的方式加載PHP

  [root@caiya php-5.4.13]# vim /etc/httpd/httpd.conf

  # 讓httpd能解析index.php的文件

  # 搜索 DirectoryIndex 定位到 DirectoryIndex index.html, 並且添加index.php

  <IfModule dir_module>

  DirectoryIndex index.php index.html

  </IfModule>


  # 以模塊的方式加載PHP

  # 搜索 AddType 定位到 AddType application/x-gzip .gz .tgz, 在其下面添加一條規則

  AddType application/x-compress .Z

  AddType application/x-gzip .gz .tgz

  AddType application/x-httpd-php .php



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章