我想在使用Amazon Linux的服务器上运行多个PHP-FPM版本。 安装程序使用Nginx运行,配置很好。 我安装了PHP 5.6和7.1并修改了/etc/php-fpm-5.6/www.conf和/etc/php-fpm-7.1/www.conf来为每个版本创建一个池。 问题是,当我启动其中一个fpm服务时,他们总是从/etc/php-fpm.conf中加载套接字信息,而不是使用特定于版本的套接字信息。 我没有修改/etc/php-fpm.conf,只是更改了特定版本的listen部分
listen = /var/run/php-fpm/php-fpm-7.1.sock
并在我的nginx中使用套接字:
fastcgi_pass unix:/var/run/php-fpm/php-fpm-7.1.sock;
我无法找到任何建议,为什么要这样做。我发现的所有文件只是告诉我我做了什么,它应该工作。
答案 0 :(得分:1)
我遇到了完全相同的问题。 /etc/php-fpm.conf
只是一个符号链接,指向您上次安装的PHP版本(即7.1
和5.6
最终都指向5.6
。)
我最终将-y
标记(您之前提到过)添加到/etc/init.d
文件中,如下所示:
/etc/init.d/php-fpm-7.1
:
daemon --pidfile ${pidfile} /usr/sbin/php-fpm-7.0 -y /etc/php-fpm-7.1.conf --daemonize $OPTIONS
和
/etc/init.d/php-fpm-5.6
:
daemon --pidfile ${pidfile} php-fpm-5.6 -y /etc/php-fpm-5.6.conf $OPTIONS
如果您采用这种方法,请注意将来的yum更新,以防它们覆盖您的配置更改。
答案 1 :(得分:0)
正确的处理方法是取消注释/etc/sysconfig/php-fpm-X.Y
的最后一行,其中X.Y
是php版本,例如/etc/sysconfig/php-fpm-7.2
$ cat /etc/sysconfig/php-fpm-7.2
# Additional environment file for php-fpm
# Uncomment below to use the php 7.2 specific configuration file
OPTIONS="-y /etc/php-fpm-7.2.conf"