代码之家  ›  专栏  ›  技术社区  ›  NM.

同一个框上有多个PHP版本

  •  5
  • NM.  · 技术社区  · 16 年前

    是否可以在同一个机器上运行多个版本的PHP(如rails)。这是我的问题,我需要开始一个新项目的开发,并计划使用PHP5.3,以便使用最新的Zend框架和活动记录。
    然而,我需要托管我的应用程序的机器有PHP4.4,还有其他几个应用程序托管在那里。我不想在服务器上升级PHP版本,因为在升级PHP版本和不推荐的函数时,我遇到了很多问题。

    3 回复  |  直到 16 年前
        1
  •  4
  •   Community Mohan Dere    9 年前
        2
  •  3
  •   Code Your Dream    9 年前

    可以使用Docker在同一个框上运行多个PHP版本。

    一个示例命令是:

    sudo docker run -d -p 8055:80 -v /var/www:/var/www \
      -v /etc/apache2/sites-available:/etc/apache2/sites-available \
      -v /etc/apache2/sites-enabled:/etc/apache2/sites-enabled \
      codeyourdream/apache-sendmail-php55
    

    此命令的作用如下:

    • /var/www , /etc/apache2/sites-available 和 /etc/apache2/sites-enabled 到Docker容器的相应文件夹。如果本地网站和/或apache配置位于不同的文件夹中,请替换 -v docker run -v /host/directory:/container/directory -other -options image_name command_to_run
    • 它从“codeyordream/apache-sendmail-php55”图像运行容器

    http://localsite:8055 )并通过PHP5.5进行处理

    看见 https://codeyourdream.com/blog/how-run-multiple-php-versions-apache-one-linux-machine-using-docker 更多细节。

        3
  •  0
  •   Pascal MARTIN    16 年前

    一种可能性是使用一个版本的PHP作为Apache模块,另一个版本作为CGI;但我更喜欢的一个想法是:

    • 每个人都在不同的端口上侦听 (例如,端口44000上的PHP4.4和端口53100上的PHP5.3.1)

    这样,您就拥有了完全不同的环境,它们彼此独立工作,并且您可以在每个环境中配置/修改您想要的任何内容,而不必冒破坏任何其他环境的风险。

    推荐文章