【问题标题】:Multiple versions of PHP-FPM, installing and configuring...?多个版本的 PHP-FPM,安装和配置...?
【发布时间】:2018-07-20 11:11:21
【问题描述】:

我应该几天前就在这里问过 - 我一直在尝试让多个版本的 PHP-FPM 在不同的虚拟主机下运行。

系统:Centos 7 w/ Centos Web Panel (CWP)、PHP 5.6/7.0/7.1/7.2、Apache 2.4

我的 PHP 版本在 /opt/alt/phpXX/usr 下,即 /opt/alt/php72/usr

虚拟主机内容示例(网站在 PHP7.2 下运行):-

<Directory "/home/bbb/public_html">
    AddHandler application/x-httpd-php72 .php
    AllowOverride All
</Directory>

到目前为止,我尝试将其添加到虚拟主机中......

<IfModule proxy_fcgi_module>
    <FilesMatch \.(phtml|php[0-9]*)$>
        SetHandler proxy:unix:/opt/alt/php72/usr/var/run/php-fpm/bbb.sock|fcgi://bbb
    </FilesMatch>
</IfModule>

但是服务器上运行的PHP-FPM服务是通过yum(版本5.4.16)安装的默认包。它的二进制文件从/usr/sbin 运行并从/etc/php-fpm.d/xxx.conf/etc/php.ini 读取。

问题..

如何启动/运行位于相应 PHP 安装(即/opt/alt/php72/usr/sbin/php-fpm)中的实际 PHP-FPM 可执行文件?

非常感谢

【问题讨论】:

    标签: php apache centos7 centos-web-panel


    【解决方案1】:

    我想我已经整理好了...希望我昨天发布了这个问题...您总是在发布后立即弄清楚...!

    我基本上设置了自己的 systemd 服务,指向 php-fpm 可执行文件,遵循本指南 - https://scottlinux.com/2014/12/08/how-to-create-a-systemd-service-in-linux-centos-7/

    我复制了系统上另一个php-fpm服务的内容,在/usr/lib/systemd/system/php72-phpfpm.service新建了一个服务,这就是我想出来的……

    [Unit]
    Description=The PHP FastCGI Process Manager
    After=syslog.target network.target
    
    [Service]
    Type=simple
    #PIDFile=/usr/local/cwp/php71/var/run/cwp-php-fpm.pid
    ExecStart=/opt/alt/php72/usr/sbin/php-fpm --nodaemonize --fpm-config /opt/alt/php72/usr/etc/php-fpm.conf -R
    ExecReload=/bin/kill -USR2 $MAINPID
    Restart=always
    RestartSec=5
    
    [Install]
    WantedBy=multi-user.target
    

    然后使用 systemctl 正常启动、启用、重启服务。

    希望对其他人有所帮助...

    【讨论】:

    猜你喜欢
    • 2022-01-07
    • 1970-01-01
    • 1970-01-01
    • 2022-12-23
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    • 2012-11-03
    • 2023-02-02
    相关资源
    最近更新 更多