php - Win10 4 月更新后的网络服务器主机名问题
问题描述
我的本地网络中有网络服务器(Apache/2.4.10 + PHP 5.6.36 on Raspbian GNU/Linux 8 (jessie) 4.9.35-v7+ on Raspberry Pi)主机名webserver。然后我还在我的工作站(Win 10 Home 64bit + Apache/2.4.25 + PHP 7.1.4)上使用本地网络服务器(localhost)。
更新到 Win 10“四月更新”(1803)后,我遇到了这个问题:当我的本地主机(即工作站)上的 PHP 脚本尝试通过 file_get_contents()从网络服务器读取一些文件时
$content=file_get_contents("http://webserver/file.php");
我收到此错误:
php_network_getaddresses: getaddrinfo failed: The requested name is valid, but no data of the requested type was found.
当我将主机名更改为 IP 地址 ( http://192.168.1.100/file.php
) 时,它就可以工作了。http://webserver/file.php
当我直接放入我的浏览器(在工作站上)时也没有问题。问题仅在于来自本地主机(工作站)的脚本试图到达地址中包含主机名的网络服务器上的地址时。
在 Win 4 月 10 日更新之前一切正常,那么问题出在哪里?我已经安装了所有 Windows 更新,但它没有帮助...
解决方案
检查您的 HOSTS 文件C:\windows\system32\drivers\etc\HOSTS
某些 Windows 更新将此文件替换为默认值,这可以解释为什么您无法再访问服务器,因为在 HOSTS 文件中不会引用它。
推荐阅读
- c# - 无法解决“未找到应用程序依赖项清单中指定的程序集”错误
- mysql - MySql 执行超时
- javascript - 开玩笑模拟 aws-sdk ReferenceError:在初始化之前无法访问
- python - 在熊猫中计算方形数据框的最有效方法
- cadence-workflow - 时间工作流程与节奏工作流程
- confluence-rest-api - 使用 Confluence API 使用 IFrame 宏创建页面
- excel - Excel 按钮打开 VBA 屏幕而不是运行代码
- c# - 如何在同一行中编写两个方法
- identityserver4 - 使用身份服务器 4 中的 CustomTokenRequestValidationContext 在令牌响应中返回用户角色
- javascript - 任何 Node.js Minifier 都支持 Javascript Null-Coalescing 运算符 (??)?