之前搞開發一直都是OS X自帶的php5.5,而後須要的擴展使用phpize編譯,可是逐漸的自帶的php已經沒法知足我了,因此準備本身手動編譯php。php
首先須要下載php的依賴的庫,OS X自帶了許多有用的庫,可是這些須要你安裝xcode命令行工具,這些庫的頭文件和靜態庫動態庫文件被存放在/usr目錄下,包括curl、openssl、libedit等庫,咱們只須要下載gd庫依賴的libjpeg libpng freetype2就能夠了。
具體須要的庫能夠查看PHP文檔mysql
如今咱們開始編譯下列庫sql
由於不想要把這些庫永久編譯安裝到系統,因此咱們須要新建一個文件夾來存放這些庫mkdir ~/local
,而後開始編譯這些庫xcode
注意!因爲是編譯安裝到自定義目錄,因此每一個庫的
./configure --prefix=/path/to/local
是必須的。
其次libmcrypt
在PHP文檔Mcrypt.installation中推薦增長--disable-posix-threads
,因此咱們也須要加上這個選項。
最後libmcrypt
還須要啓用靜態庫,由於咱們但願php是以靜態庫的方式加載這個./configure --prefix=/path/to/local --disable-posix-threads --enable-static
curl
最後請注意將全部的dylib等動態庫文件所有刪除或者重命名,只留下xxx.a
靜態庫文件,不然編譯的時候php會優先使用動態庫文件,那樣就沒法刪除~/local/
文件夾了socket
沒什麼話好說,就是Unix三板斧./configure make&make install
工具
./configure --enable-fpm --enable-cli --with-config-file-path=/usr/local/etc --with-config-file-scan-dir=/usr/local/etc/php.d --with-libxml-dir=/usr --with-openssl=/usr --with-kerberos=/usr --with-zlib=/usr --with-zlib-dir=/usr --enable-bcmath --with-bz2=/usr --enable-calendar --with-curl=/usr --enable-exif --enable-ftp --with-openssl-dir=/usr --with-jpeg-dir=/Users/tangjiacheng/Downloads/local --with-png-dir=/Users/tangjiacheng/Downloads/local --with-freetype-dir=/Users/tangjiacheng/Downloads/local --enable-gd-native-ttf --with-ldap=/usr --with-ldap-sasl=/usr --enable-mbstring --with-mcrypt=/Users/tangjiacheng/Downloads/local --with-mysql --with-mysql-sock=/tmp/mysql.sock --with-mysqli --with-pdo-mysql --enable-soap --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-tidy=/usr --enable-wddx --with-xmlrpc --with-iconv-dir=/usr --with-xsl=/usr --enable-zip --enable-mysqlnd --with-libedit --with-gd
最後安裝完成了還須要複製php-production.ini
或者php-development.ini
url