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
【Linux下的php-fpm相关问题解决】百度了很久,基本上是2种解决情况
1.首先如果在./configure中iconv扩展的话,先把它去掉在make下如果通过了的话,说明是iconv已经安装过了或者装了多个iconv,因为我自己确定我的./configure中本身就没有iconv的扩展所以这种情况我就可以排除了
2.在make中止后make clean、rm -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启动成功没,启动成功了的话会出现如下的代码
root122520.00.2215642456 ?Ss23:030:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
nobody122530.00.2215562064 ?S23:030:00 php-fpm: pool www
nobody122540.00.2215562064 ?S23:030:00 php-fpm: pool www
nobody122550.00.2215562064 ?S23:030:00 php-fpm: pool www
nobody122560.00.2215562064 ?S23:030:00 php-fpm: pool www
至此关于php-fpm的问题全部解决
推荐阅读
- 生活随笔|好天气下的意外之喜
- Linux下面如何查看tomcat已经使用多少线程
- CGI,FastCGI,PHP-CGI与PHP-FPM
- Beego打包部署到Linux
- Linux|109 个实用 shell 脚本
- linux定时任务contab
- 芯灵思SinlinxA33开发板Linux内核定时器编程
- 未来可期,直面疫情下的各种困境
- day16-Linux|day16-Linux 软件管理
- Android下的IO库-Okio源码解析(一)|Android下的IO库-Okio源码解析(一) 入门