mydomain.com
是否通过OR请求资源并不重要mydomain.com:80
(这是一些机器人/蜘蛛发出请求HTTP_HOST
的方式):始终显示为“mydomain.com”,PHP 无法知道请求是否包含:80 (2) . 这让我相信,无论是否指定了端口,Apache 都会将完全相同的请求传递给 PHP(这是有道理的)。
问题:我在这台机器上安装了 NewRelic PHP 代理,它通过PHP auto_prepend_file 向 NewRelic 服务报告,该文件用于分别命名应用程序(1)mydomain.com
和mydomain.com:80
. 这两个是同一个应用程序,在 NewRelic 控制面板中以两个不同的名称显示,这是不可取的。mydomain.com:80
由于应用程序名称是通过 PHP设置的,当设置名称的代码甚至无法查看请求是否明确定义 :80 时,怎么可能将其传递给 NewRelic API?NewRelic 支持告诉我,我的代码正在将 :80 传递给他们的 API,这是不可能的 (2)。无论端口(:80)是否被明确请求,Apache 是否都会传递给 PHP?
1)如果我不使用这个文件,服务器上的每个虚拟主机都将以相同的通用“PHP 应用程序”名称报告
2) SERVER_PORT 将始终为 80,无论是否显式调用(当然,除非它是 https 或非标准端口请求,这不是这里讨论的内容)。换句话说,我不能使用 SERVER_PORT 来过滤明确定义了端口的请求,因为请求是否有明确定义的端口对 PHP 是不可见的。
Apache 2.2.15、mod_fcgid 2.3.7、PHP 5.3.3、Linux 2.6.32.60-40 x64、CentOS 6.4