在php,如何检测你工作的服务器

in php, How to detect the server where you work

我目前正在本地处理一个项目,一旦我完成任务,我必须将更改上传到服务器(在云端)。

问题是有些地址是我直接指向的,上传到服务器后,需要手动更改,例如:

本地 http://localhost/project/user/test1

在云端 http://ourserver/projectXYZ/user/test1

在php中有什么方法可以知道你所在服务器的地址,并以此来放置这些动态地址吗?

最好使用相对于文档根目录的 URI,不带主机部分,例如/projectXYZ/user/test1。 也就是说,有时您需要知道主机名(例如,如果您曾经执行 30x 重定向,RFC 2616 需要 Location: header 到绝对 URI)。在这种情况下,最好的办法是查看 $_SERVER['HTTP_HOST'],其中包含 "contents of the Host: header from the current request, if there is one",以引用 PHP 手册。我不会太担心 "if there is one" 部分;由于 Host: header 在 HTTP 中是强制性的,因此缺少它是一种极其罕见的边缘情况。