【问题标题】:Install Multi php version on nginx在 nginx 上安装 Multi php 版本
【发布时间】:2019-02-15 12:19:31
【问题描述】:

在 php 版本 7.1.2 和 php 版本 5.6 之间安装多个 php 版本后,我正在尝试通过命令重新启动服务

systemctl restart nginx php-fpm php56-php-fpm

我收到了这个错误:

Job for php56-php-fpm.service failed because the control process exited with error code.
See "systemctl status php56-php-fpm.service" and "journalctl -xe" for details.

所以我尝试了这个命令:

systemctl status php56-php-fpm.service

这给了我:

php56-php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php56-php-fpm.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2018-09-11 10:44:19 +07; 2min 52s ago
Process: 54781 ExecStart=/opt/remi/php56/root/usr/sbin/php-fpm --nodaemonize (code=exited, status=203/EXEC)
Main PID: 54781 (code=exited, status=203/EXEC)

Sep 11 10:44:19 localhost.localdomain systemd[1]: Starting The PHP FastCGI Process Manager...
Sep 11 10:44:19 localhost.localdomain systemd[54781]: Failed at step EXEC spawning /opt/remi/php56/ro...ory
Sep 11 10:44:19 localhost.localdomain systemd[1]: php56-php-fpm.service: main process exited, code=ex...XEC
Sep 11 10:44:19 localhost.localdomain systemd[1]: Failed to start The PHP FastCGI Process Manager.
Sep 11 10:44:19 localhost.localdomain systemd[1]: Unit php56-php-fpm.service entered failed state.
Sep 11 10:44:19 localhost.localdomain systemd[1]: php56-php-fpm.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

我该如何解决这个问题?怎么了?

【问题讨论】:

  • 只是好奇,为什么要拥有多个版本的 PHP?为什么不使用安装的最新版本并卸载旧版本?
  • 我有 php 7.1.2 版的新网站,我需要 2 年前 php 5.6 版的网站。
  • 检查每个池是否使用不同的套接字并检查 selinux 上下文,developers.redhat.com/blog/2017/10/25/php-configuration-tips 中的一些信息,否则粘贴 php-fpm/error.log
  • @MOSOKIM 与其尝试使用将在 3 个月内超过其extended support lifecycle 的版本来维护双 PHP 安装,我建议您改为使用update your code。除了删除 ext/mysql (如果你正在使用它,无论如何你都不应该这样做),迁移代码所需的更改应该是最小的。即便如此,一旦你掌握了窍门,从 ext/mysql 切换到 PDO 并不像看起来那么难。

标签: php nginx php-5.6 php-7.1


【解决方案1】:
systemctl enable php56-php-fpm

systemctl start php56-php-fpm

如果在启动第二个实例 PHP-FPM (PHP 5.6) 时出现错误,则可能是 SELinux 阻止了它。您可以将 Selinux 模式设置为 permissive。

检查 SELinux 状态:

getenforce

如果是强制执行,则将其设置为许可模式:

setenforce 0

systemctl restart  nginx  php-fpm  php56-php-fpm

【讨论】:

    猜你喜欢
    • 2015-09-08
    • 2017-11-22
    • 2020-03-24
    • 1970-01-01
    • 2015-01-24
    • 2016-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多