之前搞开辟一向都是OS X自带的php5.5,然后须要的扩大运用phpize编译,然则逐步的自带的php已没法满足我了,所以预备本身手动编译php。
下载依靠
起首须要下载php的依靠的库,OS X自带了很多有效的库,然则这些须要你装置xcode命令行东西,这些库的头文件和静态库动态库文件被寄存在/usr目次下,包含curl、openssl、libedit等库,我们只须要下载gd库依靠的libjpeg libpng freetype2就能够了。
详细须要的库能够检察PHP文档
编译装置依靠库
如今我们最先编译以下库
- freetype2
- libjpeg
- libpng
- libmcrypt
由于不想要把这些库永远编译装置到体系,所以我们须要新建一个文件夹来寄存这些库mkdir ~/local
,然后最先编译这些库
注重!由因而编译装置到自定义目次,所以每一个库的
./configure --prefix=/path/to/local
是必需的。
其次libmcrypt
在PHP文档Mcrypt.installation中引荐增添--disable-posix-threads
,所以我们也须要加上这个选项。
末了libmcrypt
还须要启用静态库,由于我们愿望php是以静态库的体式格局加载这个./configure --prefix=/path/to/local --disable-posix-threads --enable-static
末了请注重将一切的dylib等动态库文件悉数删除或许重命名,只留下xxx.a
静态库文件,不然编译的时刻php会优先运用动态库文件,那样就没法删除~/local/
文件夹了
编译PHP
没什么话好说,就是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