Centos下編譯安裝PHP

申明

當前文章使用的 PHP 版本: 5.5.7 stable 下載php

.bz2 解壓命令 $ tar jxf file-namemysql

.gz 解壓命令 $ tar zxf file-namec++

推薦事先安裝的一些依賴

$ yum install -y gcc gcc-c++ make cmake autoconf libtool \
libtool-ltdl-devel pcre pcre-devel gd-devel freetype-devel \
libxml2-devel libjpeg-devel libpng-devel openssl-devel \
curl-devel patch libmcrypt-devel libmhash-devel ncurses-devel \
sudo bzip2 bzip2-devel bison perl-devel perl-ExtUtils-Embed \
libcurl-devel libjpeg-devel libpng-devel freetype-devel \
t1lib-devel libicu-devel mhash libmcrypt libmcrypt libiconv \
libxslt-devel openldap-devel

安裝re2c

re2c 下載地址sql

$ tar zxf re2c-file-name
$ cd re2c-file-folder
$ ./configure && make && make install > out

編譯安裝PHP

編譯參數數據庫

$ ./configure \
--prefix=/usr/local/php \
--with-bz2 \
--with-config-file-path=/usr/local/etc/php \
--with-curl \
--with-freetype-dir \
--with-jpeg-dir=/usr/lib \
--with-png-dir=/usr/lib \
--with-gd \
--with-gettext \
--with-mhash \
--with-iconv-dir \
--with-libxml-dir \
--with-mcrypt \
--with-openssl-dir \
--with-openssl \
--with-pcre-dir \
--with-pcre-regex \
--with-pear \
--with-t1lib \
--with-zlib \
--with-pgsql=/usr/local/pgsql \
--with-pdo-pgsql=/usr/local/pgsql \
--enable-exif \
--enable-fpm \
--enable-ftp \
--enable-gd-native-ttf \
--enable-intl \
--enable-mbstring \
--enable-mod-charset \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-zip \
--enable-opcache \
--disable-ipv6 \
--disable-fileinfo > out

安裝api

$ make
$ make install

上面只是支持了pgsql數據庫,若是須要支持mysql加上下面的編譯參數curl

--with-mysql=/usr/local/mysql \
--with-pdo-mysql=/usr/local/mysql \
--with-mysql-sock=/tmp/mysqld.sock \
--with-mysqli=/usr/local/mysql/bin/mysql_config \

注意事項

1.若是內存不小於128M,能夠嘗試去除disable-fileinfo編譯參數socket

--disable-fileinfo

2.若是碰到關於liconv的錯誤提示能夠嘗試:php-fpm

$ make ZEND_EXTRA_LIBS='-liconv'

3.若是提示錯誤:編碼

configure: error: libjpeg.(a|so) not found.
configure: error: libpng.(a|so) not found.

執行下面的語句

$ cp -frp /usr/lib64/libjpeg.* /usr/lib/
$ cp -frp /usr/lib64/libpng* /usr/lib/

4.若是碰到」configure: error: mcrypt.h not found. Please reinstall libmcrypt」,編譯安裝一下libmcrypt便可,步驟以下:

$ wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download
$ tar zxf libmcrypt-2.5.8.tar.gz
$ cd libmcrypt-2.5.8
$ ./configure
$ make
$ make install

5.若是iconv便可知足編碼轉換的需求,能夠去除mbstring編譯選項:

--enable-mbstring \

配置文件

注意如下命令中的配置文件模板都存在於源碼目錄下

複製php.ini文件至編譯時參數--with-config-file-path=PATH設定的配置文件目錄

$ mkdir /usr/local/etc/php
$ cp php.ini-development /usr/local/etc/php/php.ini

複製php-fpm的配置文件

$ cp sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf

設置命令軟連接

$ ln -s /usr/local/php/sbin/php-fpm /usr/local/bin
$ ln -s /usr/local/php/bin/pecl /usr/local/bin
$ ln -s /usr/local/php/bin/php /usr/local/bin

啓動

$ php-fpm
相關文章
相關標籤/搜索