Amazon Linux上的多个PHP-FPM版本加载相同的配置

时间:2018-01-15 16:19:35

标签: php linux amazon-web-services nginx

我想在使用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;

我无法找到任何建议,为什么要这样做。我发现的所有文件只是告诉我我做了什么,它应该工作。

2 个答案:

答案 0 :(得分:1)

我遇到了完全相同的问题。 /etc/php-fpm.conf只是一个符号链接,指向您上次安装的PHP版本(即7.15.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"