1
msg7086 2019-07-11 23:11:39 +08:00
PHP-FPM 就是 PHP 啊,为什么要去定位别的 PHP/PHP-CGI 呢。
|
2
azev OP |
3
starsriver 2019-07-11 23:23:25 +08:00 via Android
fpm 可以认为是 cgi 的优化部件,cgi 是基础啊,毕竟命令行组件不能丢。以及没有定位一说。
可以通过路径对应版本 可以装多环境,cgi 也多版本 |
4
azev OP @starsriver 多谢
如果 php-cgi 是必需的基础,那 fpm 是不是得知道怎么找到他然后执行? |
5
lhx2008 2019-07-11 23:35:34 +08:00 via Android
|
6
starsriver 2019-07-11 23:37:03 +08:00 via Android
@azev fpm 是编译在 php 核心的, cgi 也是,为什么会找不到呢。。和版本是对应的,你如果不理解,就先认为是一个相对的固定路径吧
|
7
azev OP " fpm 是编译在 php 核心的, cgi 也是 "这个能再解释下吗?
因为现在看到是三个独立的文件 sbin/php-fpm bin/php bin/php-cgi |
9
msg7086 2019-07-12 05:01:02 +08:00
@azev 你可以看看这三个文件分别有多大。
PHP-FPM 虽然叫 FP 管理器,但其实他自己就是 PHP,运行以后自己 Fork 一堆就能跑了。 他不是去找其他的 PHP 然后再启动其他进程的。 当然,PHP 5.4 之前 FPM 结构和现在不同。之前仅仅是一个 FCGI 管理器,需要 CGI 才能跑。 所以,现在如果要部署多版本 PHP,那就要部署多版本的 PHP-FPM,每个版本监听一个套接字,然后 Nginx 通过转发到不同套接字来支持多个版本。 |
10
azev OP @msg7086
多谢 我看了下 大小是这样 -rwxr-xr-x 1 root root 4.5M Oct 31 2018 php -rwxr-xr-x 1 root root 4.4M Oct 31 2018 php-cgi -rwxr-xr-x 1 root root 4.7K Oct 31 2018 phpize -rwxr-xr-x 1 root root 4.5M Oct 31 2018 php-fpm 这是说这三个基本是同一个程序? 这样是不是重复了不少代码? |
14
azev OP |
18
sarices 2019-07-12 10:55:39 +08:00
phpfpm 监听不同端口就好了,如果只是测试,直接跑 docker 部署到对应端口
|
21
msg7086 2019-07-12 13:59:21 +08:00
fpm 可以通过 service 文件里的参数指定配置文件,也可以用编译时指定的默认地址。
https://linux.die.net/man/8/php-fpm --fpm-config file Specify alternative path to FastCGI process manager configuration file (the default is /etc/php-fpm.conf) 5.3 的话 FPM 还没有整合进 PHP 吧。 CentOS 下部署的话还是不建议自己强行安装多个版本。 CentOS 这个发行版,要么你就完全跟着官方走(即跟着官方的方案和版本混),要么如果你有自己的运维团队的话可以自己编译打包然后用包管理来安装。 CentOS 8 支持模块化安装以后,装同一个软件的多个版本就轻松多了。 |