共计 2272 个字符,预计需要花费 6 分钟才能阅读完成。
以前搞开发一直都是 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
PHP 7,你值得拥有 http://www.linuxidc.com/Linux/2015-06/118847.htm
在 CentOS 7.x / Fedora 21 上面体验 PHP 7.0 http://www.linuxidc.com/Linux/2015-05/117960.htm
CentOS 6.3 安装 LNMP (PHP 5.4,MyySQL5.6) http://www.linuxidc.com/Linux/2013-04/82069.htm
在部署 LNMP 的时候遇到 Nginx 启动失败的 2 个问题 http://www.linuxidc.com/Linux/2013-03/81120.htm
Ubuntu 安装 Nginx php5-fpm MySQL(LNMP 环境搭建) http://www.linuxidc.com/Linux/2012-10/72458.htm
《细说 PHP》高清扫描 PDF+ 光盘源码 + 全套教学视频 http://www.linuxidc.com/Linux/2014-03/97536.htm
CentOS 6 中配置 PHP 的 LNMP 的开发环境 http://www.linuxidc.com/Linux/2013-12/93869.htm
PHP 的详细介绍:请点这里
PHP 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-07/120706.htm