【问题标题】:moving from php 4 to php 5从 php 4 迁移到 php 5
【发布时间】:2012-10-24 06:57:47
【问题描述】:

我用 PHP5 开发了这个项目。该项目已提供给我完整的详细信息(要使用的 php 版本、要使用的 mysql 版本等)。我的客户说要使用 PHP5 开发项目,我很高兴因为我可以练习我的 OOP。

在本地服务器完成项目后,我将文件上传到直播服务器,问题是,直播服务器是在 PHP4 中运行的,所以当我们运行项目时,我的工作全部搞砸了。

今天是该项目的截止日期,我已经用 PHP5 OOP 编写了几个星期的代码,在这一天结束之前,我必须让它与实时服务器一起工作。

我的客户不希望我更新服务器的 PHP 版本,因为其他一些 Web 应用程序可能会受到影响。如果我对项目进行重新编码,我可能还需要数周时间。

有什么办法可以做到吗?我没时间了。

【问题讨论】:

  • 这听起来像是一个应该通过部署到兼容 PHP 版本的服务器来解决的问题。
  • 是的,但客户端希望将它们上传到该服务器并且仅在该服务器上。
  • 也许有一种解决方案,当您的 ISP 允许时,使用 htaccess 和 AddType x-mapp-php5 .php AddHandler x-mapp-php5 .php 将服务器设置为 php5 仅用于您的项目。 .
  • @donald123 你有关于如何做到这一点的任何源链接吗?
  • 是的,但是在开发过程中他们没有告诉我服务器在 PHP4 上运行,因为他们的指令是使用 PHP5,所以我只是猜测服务器会有相同的 PHP 版本。

标签: php php4


【解决方案1】:

您可以在同一台机器上运行多个版本的 PHP。尝试谷歌搜索“在同一 apache 服务器上安装 2 个 php 版本”。结果之一是here。
关键思想是为 PHP5 和 PHP4 应用程序提供单独的虚拟主机。

【讨论】:

  • 我如何告诉我的应用程序使用哪个 php 版本?
  • @Cubixsyntax:您可以按目录甚至按文件配置(如果不是按虚拟主机,例如子域)
  • 我应该使用什么方法来配置我的项目以使用 php5 而不是 php4?
  • @Cubixsyntax,您查看提供的链接了吗?已经完成了 2 个不同端口的设置:8447 和 8423。一个是使用 PHP5,另一个是 PHP4。如果要按目录进行配置,可以将<VirtualHost *:8447> 定义更改为其他内容。
  • @bhovhannes 我在服务器上唯一可以访问的是 ftp,所以现在无法完成。我正在等待我的客户回应。我已经告诉了他们所有这些,所以让我们希望最好。
【解决方案2】:

使用现代安装的 PHP 运行另一台服务器(可能在另一台机器上,可能是虚拟机)。

使用 Apache ProxyPass 指令将旧服务器映射到新服务器。

开始使用现代版本的 PHP 在旧服务器上测试 Web 应用程序,并开始迁移所有内容,以免它尽快运行可怕的过时安全风险。

【讨论】:

  • 在迁移过程中,我会有足够的时间去做吗?我还有 2 小时的时间。
  • 在没有现有公司磁盘映像的情况下设置新服务器? 2小时内?可能不会。
  • 好吧,我别无选择。除此之外,这不是我的错。客户告诉我使用 php5,我使用它。我听他说的,所以这不再是我的问题了xD
【解决方案3】:

我的客户不希望我更新服务器的 PHP 版本,因为其他一些 Web 应用程序可能会受到影响。如果我对项目进行重新编码,我可能还需要数周时间。

如果无法在服务器上安装兼容的 PHP 版本(您的客户端错误,您可以拥有多个彼此相邻的 PHP 版本,甚至可以拥有两个彼此相邻的可访问的系统通过同一个域),那么你需要为目标平台重写代码。

由于这需要更多时间才能结束一天(或剩下的两个小时),因此需要取消截止日期,并将移植到 PHP 4 预算。

从顶部审查您的选择我会说情况很疯狂。让 PHP 5 在另一台服务器上运行并完成工作。您需要客户的更多合作。

【讨论】:

  • 是的,这太疯狂了。我正在等待我的客户回复,我告诉他们如果他们不想让我安装 php5,那么他们应该这样做以使这成为可能。
  • 告诉他们安装它。我假设你不是在管理他们的服务器,所以这是他们的事。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多