我需要运行 Apache php 5.2 和 5.3,不需要其他 web 服务器,例如 nginx、lighttpd 等。只需要 Apache HTTPD。
在同一台机器上同时运行 PHP 5.2 和 PHP 5.3 的 Apache 的最简单方法是让它们在不同的 Web 服务器(或至少是不同的 Web 服务器实例)中运行。
我已经在 Windows 上执行此操作,它运行完美,因为可以轻松指定特定实例加载的 conf 文件。
但是如何在 Mac OSX 上实现这一点,而不放弃 OSX 内置的 Web 服务器呢?
基本方法是创建每个 apache 实例将绑定到的 N-ip 地址,例如:
192.168.0.52 - 用于 PHP 5.2 的 apache httpd 192.168.0.53 - 用于 PHP 5.3 的 apache httpd
(每个 apache 都会绑定到自己的 ip 地址)
在 OSX 上,我不知道如何配置 HTTPD 以作为多个服务/守护进程启动,并使用不同的启动 httpd.conf 文件!
答案1
使用 macports 或 fink 将另一个 apache 和 php 安装到单独的目录中,并将其配置为在另一个端口上运行。这样,您可以将 Apple 提供的 apache 绑定到端口 80,并将您的自定义安装在端口 8080 上。httpd.conf 对于 apache 实例来说是全局的,即使它在多个线程中运行,因此唯一的方法是进行两次安装。