在编译php-fpm0.6的时候需要注意的一些问题
也许大家都在用php-fpm0.5系列..其实php-fpm0.6早就发布了..并且再上次fix_pathinfo漏洞的时候.有人说过0.6不受这个漏洞的影响..
看来使用0.6还是还是有些必要的..
但是0.6比较起0.5来说..变化很大..代码上我不太清楚..但是从编译的步骤上来讲..确实有些我们需要注意的事情.
上次我曾经说过关于编译PHP5.2.12+php-fpm-0.6的问题..这次加上几个新的 就重新写一遍吧..
我这里就用php5.2.13和php-fpm-0.6~5.2.patch来打比方.
php-fpm需要autoconf2.13 所以我们需要先安装autoconf
以下是引用片段: # tar -zxvf autoconf-2.13.tar.gz # cd autoconf-2.13 # ./configure --prefix=/usr/local/autoconf # make # make install # export PHP_AUTOCONF=/usr/local/autoconf/bin/autoconf # export PHP_AUTOHEADER=/usr/local/autoconf/bin/autoheader |
另外还需要libevent-1.4.13-stable.tar.gz
以下是引用片段: # tar zxvf libevent-1.4.13-stable.tar.gz # cd libevent-1.4.13-stable/ # ./configure --prefix=/usr/local/libevent # make && make install |
最后还需要一个libiconv-1.13.1.tar.gz
以下是引用片段: # tar zxvf libiconv-1.13.1.tar.gz # cd libiconv-1.13.1/ # ./configure --prefix=/usr/local/libiconv # make && make install |
现在才可以安装php5.2.13..这里需要注意的是 php-fpm0.5的编译参数是 -enabled-fpm 而0.6改成了 -with-fpm
以下是引用片段: # tar -jxvf php-5.2.13.tar.bz2 # cd php-5.2.13/ # patch -d php-5.2.12 -p1 < php-fpm-0.6~5.2.patch # rm -rf configure # ./buildconf --force # ./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql=/usr/local/webserver/mysql --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-libevent=/usr/local/libevent --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --with-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap --without-pear # make # make install # cp php.ini-dist /usr/local/www/php/php.ini |
还有一点 如果你php.ini中开启了open_basedir并且安装了eAccelerator了..
那么需要修改一下eAccelerator的源码在编译安装..
下载eaccelerator 0.9.6后先不要安装,解包后找到eaccelerator.c这个文件,打开第1156行,这样的:
if (PG(open_basedir) && php_check_open_basedir(realname TSRMLS_CC)) {
修改成:
if (PG(open_basedir) && php_check_open_basedir(file_handle->filename TSRMLS_CC)) {
貌似没什么问题了..以后想起来再加把..
建议继续学习:
- 从C语言的Hello World说起 (阅读:6161)
- 关于PHP的编译和执行分离 (阅读:5719)
- 如何在Windows下编译或调试MySQL (阅读:3544)
- 内核编译升级失败了以后的处理方案 (阅读:2926)
- 如何在AIX中编译Perl (阅读:2292)
- 编译安装mysql 5.141源代码,常见两处错误解决 (阅读:2160)
- GCC编译错误 (阅读:1895)
- 有关最近GCC编译出现的firstdefine问题 (阅读:1754)
- 大搜车前端开发模式:被动编译和主动编译 (阅读:1287)
- C++模板”>>”编译问题与词法消歧设计 (阅读:1007)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:Jessica 来源: Skiyo
- 标签: php-fpm 编译
- 发布时间:2010-07-20 23:17:56
- [66] Go Reflect 性能
- [65] Oracle MTS模式下 进程地址与会话信
- [64] 如何拿下简短的域名
- [59] android 开发入门
- [59] IOS安全–浅谈关于IOS加固的几种方法
- [58] 图书馆的世界纪录
- [58] 【社会化设计】自我(self)部分――欢迎区
- [53] 视觉调整-设计师 vs. 逻辑
- [47] 界面设计速成
- [46] 读书笔记-壹百度:百度十年千倍的29条法则