當前文章使用的 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 下載地址sql
$ tar zxf re2c-file-name $ cd re2c-file-folder $ ./configure && make && make install > out
編譯參數數據庫
$ ./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