Ubuntu / CentOS - PHP5 imap ssl

Ubuntu / CentOS - PHP5 imap ssl

我现在想知道,我已经开发了一个帮助台系统,然后使用PHP imap 库连接到已配置的邮箱并“拉”邮件并根据内容创建票证。

但是遗憾的是我遇到了一个问题,我们的应用程序在 PHP 上部署的一些服务器没有使用标志进行编译--with-imap-ssl

我首先想到的解决方案也是:

  1. 通过 SSH 登录到每个服务器
  2. 执行php-config复制构建标志
  3. --with-imap-ssl使用该标志和上一步中的所有其他标志重新编译 php

但是有些客户可能不允许我们重新编译 PHP,因为他们正在将其用于其他应用程序。而且这也是一个 DevOps 噩梦,因为我们必须在晚上执行此操作,以确保没有人使用他们的服务器,并让他们都知道我们将重新编译 php,因此我们将在该过程发生时禁用 apache $N 时间段。

然后我想到另一种解决方案是:

  1. 获取服务器上运行的所有不同版本的 PHP
  2. 确保所有 openSSL 路径相同/usr
  3. 为每种 Linux 版本(CentOS / Ubuntu)启动一个虚拟机
  4. cd /tmp && wget ftp://ftp.cac.washington.edu/imap/imap-2007f.tar.gz或者获取人们正在运行的任何其他版本的 IMAP。
  5. tar xzf imap-2007f.tar.gz
  6. sudo mv imap-2007f /usr/local
  7. 编译 imap
  8. 下载所有需要的 php 版本
  9. --with-imap-ssl使用标志进行编译
  10. 然后我们将获得所需的“imap.so”文件具体的PHP 版本
  11. SCP将 imap.so 文件放到客户端服务器上并重新启动 apache,然后 php 将有望获得 imap-ssl 支持,而不会破坏服务器上的任何其他内容。

现在的问题是:

  1. 有一个更好的方法吗 ?
  2. 这些方法到底管用吗?
  3. 要遵循哪些步骤来实现该过程的自动化?

答案1

您是否研究过使用容器服务,例如 Docker 或 LXC?这样您就可以使用所需的 PHP 和 OpenSSL 版本(以及许多其他程序)。它也不会干扰系统的 PHP 和 SSL 安装,它是完全独立的。

Docker 似乎已经预建了 PHP 环境:https://hub.docker.com/_/php/

LXC 使用方法:http://www.phpclasses.org/blog/post/290-Simplify-Your-PHP-Applications-Testing-Using-LXC-in-Your-Development-Environment.html

如果您是容器领域的新手,我会说 Docker 是一个不错的起点,因为它有大量社区支持。

相关内容