今天把学校局域网里的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会无法输出。