Linux下的php-fpm相关问题解决

今天搭建LNMP环境时,在安装PHP编译的时候出现了问题,首先在解压安装包后配置检测环境

 ./configure --prefix=/usr/local/php \
--with-gd \
--enable-gd-native-ttf \
--enable-mysqlnd \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--enable-mbstring \
--enable-fpm

其中 --enable-fpm 是必须要的,因为它要使 PHP 作为独立的进程来运行(默认占据 9000 端口,在LAPM中PHP一般是作为apache的模块使用,继续上面的来,然后make(编译)的时候出现了问题,出现下面的错误

make: *** [sapi/fpm/php-fpm] Error 1

百度了很久,基本上是2种解决情况
1.首先如果在./configureiconv扩展的话,先把它去掉在make下如果通过了的话,说明是iconv已经安装过了或者装了多个iconv,因为我自己确定我的./configure中本身就没有iconv的扩展所以这种情况我就可以排除了
2.在make中止后make cleanrm -f Makefile删除编译过的文件,然后重新用 ./configure --。。。。配置,然后在 make 命令加 ZEND_EXTRA_LIBS='-liconv'进行编译:make ZEND_EXTRA_LIBS='-liconv'
3.如果上面2种情况没还是没解决的话需要注意了,可以多重试几次,如果出现了Don't forget to run 'make test'.也可以直接make install
到这make的问题基本解决
启动php-fpm的时候又出了问题Unable to open file '/usr/local/php/etc/php-fpm.conf', errno=2,大概意思就是/usr/local/php/etc/下没哟哟php-fpm配置文件,可以直接通过find / -name php-fpm.conf找到配置文件然后复制/usr/local/php/etc/下解决:cp /root/data/php-5.3.6/sapi/fpm/php-fpm.conf /usr/local/php/etc/,配置文件有了后启动又报错了,[pool www] pm.min_spare_servers(0) must be a positive value,打开之前复制过去的php-fpm.conf配置文件,将下面的配置替换掉源文件中的配置,就解决了

# vi /usr/local/php/etc/php-fpm.conf
pm.start_servers=20
pm.min_spare_servers=5
pm.max_spare_servers=35

最后启动成功后可以通过ps aux|grep php检测php-fpm启动成功没,启动成功了的话会出现如下的代码

root     12252  0.0  0.2  21564  2456 ?        Ss   23:03   0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
nobody   12253  0.0  0.2  21556  2064 ?        S    23:03   0:00 php-fpm: pool www
nobody   12254  0.0  0.2  21556  2064 ?        S    23:03   0:00 php-fpm: pool www
nobody   12255  0.0  0.2  21556  2064 ?        S    23:03   0:00 php-fpm: pool www
nobody   12256  0.0  0.2  21556  2064 ?        S    23:03   0:00 php-fpm: pool www

至此关于php-fpm的问题全部解决

你可能感兴趣的:(Linux下的php-fpm相关问题解决)