php-fpm无法启动一例及原因分析

今天把学校局域网里的gentoo服务器升级了一下,稳定版的gentoo终于把php5.3升级到了php5.4。重启php,结果发现php无法启动了,提示:

 * Caching service dependencies ...                                                       [ ok ]
 * Starting PHP FastCGI Process Manager ...
 * start-stop-daemon: /usr/lib//bin/php-fpm does not exist                                [ !! ]
 * ERROR: php-fpm failed to start

用whereis php-fpm命令查看,发现有文件:/usr/bin/php-fpm。

于是编辑/etc/init.d/php-fpm文件,把/usr/lib/${PHPSLOT}/bin/php-fpm改为/usr/lib/${PHPSLOT}/bin/php-fpm,结果还是无法启动。

后来想到此文件是否是链接呢?于是ls -l /usr/bin/php-fpm,发现此文件是链接到了/usr/lib/php5.4/bin/php-fpm,再打开/etc/init.d/php-fpm,终于明白是变量出问题了:

[ ${PHPSLOT} = 'php-fpm' ] && PHPSLOT="$(eselect php show fpm)"

在终端运行eselect php show fpm命令,无任何输出,原因不明。在我的笔记本上测试,则输出:php5.4。没办法,只好将上面手动改成:

[ ${PHPSLOT} = 'php-fpm' ] && PHPSLOT="php5.4"

重新启动php-fpm成功。

先记录一下,回头还得找找原因,为什么eselect php show fpm会无法输出。

发表评论

电子邮件地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据