如何在不破坏 Zabbix 服务器的情况下从 php 5.4 迁移到 7.3?

Posted

技术标签:

【中文标题】如何在不破坏 Zabbix 服务器的情况下从 php 5.4 迁移到 7.3?【英文标题】:How to migrate from php 5.4 to 7.3 without destroying Zabbix server? 【发布时间】:2019-05-02 11:23:03 【问题描述】: CentOS Linux 版本 7.5.1804(核心) Linux localhost.localdomain 4.19.0-1.el7.elrepo.x86_64 php 5.4.16 (cli) PHP 5.4.16 (fpm-fcgi) nginx/1.14.1 扎比克斯 4.0.2

你好。我想在我的 Zabbix 服务器上从 PHP54 升级到 PHP73 版本。 yum update 不显示任何内容,但 yum list 显示可用的 php 7.2 和 7.3 数据包(remi-safe repo)。

    如果我不能只用yum update 更新,我该怎么做? 如果我想在更新后保证 Zabbix 服务器的安全,我应该编辑哪些文件?

【问题讨论】:

ServerFault 可能更有帮助。不过,请先阅读询问指南。 您的PHP 5 应用程序可能会在PHP 7 中抛出一些错误。创建还原点,在进行任何更改之前 查看向导:rpms.remirepo.net/wizard(并选择“单一版本”) 【参考方案1】:

由于您可以同时运行多个 PHP 版本,您可以通过以下方式安装新的 PHP 包:

yum install -y php73-<package name>

AFAIK zabbix 4.0 与 php7.3 兼容,所以你只需要在安装和运行所有依赖项后在 nginx 中重新指向一个新的 php-fpm7.3。

你的 nginx zabbix.conf 应该包含这个:

    location ~ \.php$ 
        if (!-f $request_filename)  return 404; 
        expires                 epoch;
        include                 /etc/nginx/fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index           index.php;
        fastcgi_pass            unix:/var/run/php/php7.3-fpm.sock;
        # "as it takes the alias directive into account,..."
        fastcgi_param SCRIPT_FILENAME $request_filename;
    

适用于 php7.3。请知道示例取自 Debian,因此 CentOS 路径可能不同 - 直接在系统上查看并进行调整。更新 conf 后,您应该重新启动 nginx 以使更改生效。

不用说,您应该备份所有内容,最好在非生产环境中进行实验:)

关于zabbix前端的安全加固? 0) 仅使用 SSL 配置提供登录

    仅使用强密码 禁用“管理员”和“访客”帐户 通过 WAF 监控任何蛮力尝试并阻止它们 不允许不需要的用户访问登录页面

【讨论】:

以上是关于如何在不破坏 Zabbix 服务器的情况下从 php 5.4 迁移到 7.3?的主要内容,如果未能解决你的问题,请参考以下文章

我可以在不破坏 HIPAA 的情况下从现有电子表格自动生成新电子表格吗?

如何在不知道当前/主视图是啥的情况下从后台线程打开新视图?

HTML:如何在不缓冲所有声音数据的情况下从 URL 中间文件开始声音播放

如何在不丢失“this”上下文的情况下从 React 组件中写入 apollo 缓存

如何在不触摸或点击文本字段的情况下从动态创建的 UITextField 获取文本(禁用用户交互)?

在 Android 11 上,如何在不实际点击通知的情况下从通知更新启动 Activity