PHP get_headers不适用于本地Apache URL


PHP get_headers not working on local Apache URLs

我正在使用get_headers()来查看站点是否已启动,这一切都很好,但当我尝试检查本地站点时,我会收到一个"响应超时"错误。"本地"URL不在"真实"域上,而是类似于:

http://steve-emachine/WEBSITES_PHP/Sites/HOGSMILL/index.php

其中"steve emachine"是我的机器名。有什么方法可以在这种URL上使用get_headers()吗?URL在浏览器中运行良好,所以问题显然只是我不知道HTTP是如何工作的。

虽然对我来说,你提到的url格式是有效的,但请确保你在操作系统的hosts文件中有你正在使用的特定域的条目(在你的情况下是steve emachine)。要在本地站点上使用get_headers(),可以执行以下操作:

  1. 在服务器上添加虚拟主机,名称类似local.mysite.com
  2. 在操作系统中为该域创建主机条目127.0.0.1 local.mysite.com
  3. 重新启动服务器
  4. 使用$url=http://local.mysite.com在getheaders()中,它可以正常工作

确保在php代码中使用前缀为http://的完整地址。像这个

http://local.mysite.com

hosts文件位于linux上的/etc/hosts中,看起来像127.0.0.1本地主机127.0.0.1.1 drew-ThinkPad-T410127.0.0.1 local.mysite.com