使用 OSX Server 时是否重新生成 Apache 配置?

使用 OSX Server 时是否重新生成 Apache 配置?

我最近在全新安装的 Yosemite 10.10.3 上安装了 OSX Server,并想自定义 apache 配置以更改服务器使用的 PHP 版本。我使用 homebrew 安装了 php,并对 apache 配置文件进行了更改。这很顺利,直到第二天我注意到 apache 已恢复使用 Yosemite 附带的默认 PHP 版本。

经过一番尝试后,我意识到我正在编辑的 apache 配置文件 ( /Library/Server/Web/Config/apache2/httpd_server_app.conf) 每次重新启动 OSX Server 应用程序时都会重新生成,并将其恢复为 Yosemite 附带的 PHP 默认版本。

OSX Sever是否httpd.conf有生成它的默认值httpd_server_app.conf

更新:

我做了一些深入研究。当我将 LoadModule 调用添加到时,httpd_server_app.conf我注释掉了旧版本,并在下一行添加了对新版本的调用。

#LoadModule php5_module libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so

重新启动服务器时,新生成的文件如下所示(对新模块的调用保留,但对旧模块的调用被取消注释):

LoadModule php5_module libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so

Apache 加载第一个模块,在本例中是旧版本。如果我将新模块调用放在旧模块调用上方,那么这个问题就解决了。虽然这感觉不是一个理想的解决方案,因为我仍然保留了另一个未注释的 LoadModule 调用。

我想象还存在与编辑 apache 配置有关的其他场景,其中简单地改变顺序无法解决问题。

相关内容