DNS 在 PHP 中不工作(但一般情况下可以)

2024-02-29

以下脚本:

<?php
 $dnsrecs = dns_get_record('google.com'); foreach($dnsrecs as $dnsrec){ foreach($dnsrec as $label=>$val){ echo $label.':'. $val . '<br>'; } }


  echo file_get_contents('https://google.com'); 


?>

返回 DNS 记录列表,但最终在 file_get_contents 上失败,尽管 phpinfo() 说:

allow_url_fopen On  On
allow_url_include   Off

出现以下错误:

PHP 消息:PHP 警告:file_get_contents(https://google.com https://google.com):无法打开流:php_network_getaddresses:getaddrinfo失败:第5行/var/www/a.php中没有与主机名关联的地址”,同时从上游读取响应头,客户端:152.66.34.10,服务器:xxx,请求:“ GET /a.php HTTP/1.1”,上游:“fastcgi://unix:/var/run/php-fpm-www.sock:”,主机:“xxx”

服务器上的 DNS 解析工作正常,使用与 nginx 运行相同的用户:

# sudo -u www-data host google.com
google.com has address 216.58.212.142
google.com has IPv6 address 2a00:1450:400e:800::200e
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.

我的 PHP 版本是最新的:

# php --version
PHP 5.5.9-1ubuntu4.21 (cli) (built: Feb  9 2017 20:54:58) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

我通过 php5-fpm 运行它,它似乎与此相关,因为sudo -u www-data php a.php工作正常。

我的 php.ini 文件在这里:http://pastebin.com/qZePJdT5 http://pastebin.com/qZePJdT5我的 phpinfo 在这里:http://pastebin.com/cAWuu8wr http://pastebin.com/cAWuu8wr

Thanks.


我们在 Google 公共 DNS 服务器上发现了这个问题。我们只需重新启动 PHP-FPM 即可修复此问题。这个问题已经成为一些 Twitter 讨论的话题:

https://twitter.com/laravelphp/status/844181376224165890 https://twitter.com/laravelphp/status/844181376224165890

然而,这似乎并不是 DigitalOcean 特有的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DNS 在 PHP 中不工作(但一般情况下可以) 的相关文章

  • 如何确定 n 高数字金字塔中的最大路线成本

    我有一个像这样的数字金字塔 7 4 8 1 8 9 2 4 6 7 4 6 7 4 9 4 9 7 3 8 8 routes 32 每个数字都按其系列中的强大程度进行索引 0 9 gt 1 1 8 gt 5 2 8 gt 4 3 7 gt
  • 提交ajax表单并停留在同一页面不起作用

    我想将用户的评论存储在我的数据库中 当用户提交时 我不想将他们重定向到新页面 我有以下代码 但它不起作用 我的 HTML 代码
  • 当存在联系时如何为数组分配排名号

    当尝试为数组中存在平局的数值分配排名时 我很难知道从哪里开始 因此 例如 我需要像下面这样转换一个数组 myarray 4 76 34 13 34 到另一个数组中 例如 myarray2 1 5 3 5 2 3 5 基本上 当相同的数字在数
  • 计算两个数字之间的差异

    我想计算两个给定数字之间的差异 例如 1 5 或 24 35 我必须将数组中的数字分开并写出它们之间的差异 如下所示 1 2 3 4 5 或 24 25 26 27 28 29 30 31 32 33 34 35 是否有任何 php 函数可
  • 如何通过键查找最大和最小日期

    我有一个数组 a array 2010 05 03 gt 100 2010 05 04 gt 400 2008 05 01 gt 800 2011 01 01 gt 800 我如何找到最大值和最小值key date 例如 max gt 20
  • 如何在 标签中用 %20 替换空格

    我想替换 html 文本的图像标签中的所有空格 Example img src to img src photo 201 jpg 我没有找到 preg replace 的解决方案 但它可能是一个简单的正则表达式行 谢谢 Edit 抱歉各位
  • 在 symfony2 中为特定控制器设置 max_execution_time

    Using ini set 我可以扩展最大执行时间一个脚本的 在Symfony2 我可以添加ini set to web app php and web app dev php将增加的执行时间应用于所有控制器 但在这种情况下 我只想扩展最大
  • 如何从 Laravel 5 中的 Public/Images 文件夹中删除图像(URL 数据)

    如何从 laravel 5 中的 public images 文件夹中删除图像文件 我从这个网站找到了一些例子 但我知道他们只是在他们的文件中使用文件名record table 但我正在使用类似的东西URL e g localhost pr
  • php 在内容前插入十六进制字符数

    我正在将网站移动到新服务器 旧服务器有 php 5 3 2 新服务器有 php 5 5 9 Centos httpd Apache 2 2 26 我已经复制了文件 它工作正常 除了唯一奇怪的事情 一些奇怪的十六进制数字被插入到页面内容之前
  • FPDF - 内嵌粗体文本

    我正在尝试从 PHP 创建 PDF 出于法律原因 我们需要将免责声明的一部分设为粗体 并且需要概述免责声明 我当前的代码使用 if isset POST optout POST optout yes pdf gt Ln 5 pdf gt S
  • SimpleSAMLPHP 重定向循环

    我们正在尝试使用自定义 mysql 数据库设置 sso 但它在以下两个请求之间进入无限循环 POST http 192 168 0 15 simplesaml module php core loginuserpass php 设置Cook
  • 登录后所有页面都应该是https吗?

    这有点难以解释 但我会尽力 有一个网站 每个页面上都有登录表单 其中包含用户名 密码字段 这些页面未使用 SSL 用户填写用户名 密码并提交表单后 表单将被发送到 https 的身份验证页面 对于这种情况我有几个疑问 向 https 页面提
  • 我可以显示我在 PHP 中设置的所有 cookie 吗?

    我正在尝试诊断 cookie 中的错误 但 cookie 的名称不是应有的名称 PHP 有没有办法打印我的域设置的所有 cookie 你有没有尝试过 print r COOKIE
  • 如何覆盖 phpunit 中导出的变量?

    我知道我可以设置环境变量 https phpunit de manual current en appendixes configuration html在我的 phpunit xml 里面
  • 使用 php 和 symfony 从数组创建 Excel 文件

    我正在尝试使用 PHP 和 symfony 将数组导出为 XLS 文件 如下面的代码所示 创建 XLS 文件后 我只能获取数组的最后一行 并且它显示在文件的第一行中 似乎 lignes 变量没有增加 我不明白出了什么问题 有人可以帮忙吗 f
  • 无需下载整个文件即可读取 ID3 标签

    是否可以读取 MP3 文件的 ID3 标签 持续时间 艺术家 标题 而无需下载整个文件 我做了一些测试 只需下载 MP3 文件的几个字节就可以获得艺术家和标题标签 但我不确定持续时间和其他标签是否可能 Thanks 我刚刚发现 ffmpeg
  • php向多个收件人发送邮件

    我可以通过在邮件程序中定义 id 来将电子邮件发送到一个电子邮件 id 但是当用户在表单中键入 消息和电子邮件 id 时 我无法理解如何发送到多个收件人 例如 我正在显示一个带有两个文本区域的表单 一个用于电子邮件 ID 一个用于自定义消息
  • 使 div 的大小与其内部图像的大小相同

    我有一个带有以下代码的div HTML div img src img logo png div CSS div imgContainer width 250px height 250px padding 13px 问题是用户可以编辑图像大
  • NodeJS 和 PHP (Laravel) 集成用于 Socket.IO 实时聊天

    目前我有一个我写过的网站PHP通过Laravel 框架 我已经使用写了一个实时聊天nodeJS with 套接字IO and Express现在我想做的是将它集成到我已经编写的 Laravel 网站中 问题是聊天必须在主页中 当前由 Lar
  • Laravel 5 注销特定用户

    在我的 laravel 5 应用程序中 有一个功能允许具有管理员角色的用户重置非管理员的任何人的密码 但这不会强制该人注销并再次登录 更改密码后如何强制用户注销 我没有对用于验证用户身份或任何内容的中间件进行任何更改 我不知道它是否有效 但

随机推荐

  • 在编译时获取 std::array 中的元素数量

    以下是有效的 C 代码吗 为什么不呢 std array
  • Go 语法和接口作为函数的参数

    我是Go编程语言的新手 最近遇到以下代码 func rec ContactRecord Less other interface bool return rec sortKey Less other ContactRecord sortKe
  • 在c#中自定义ToolStripMenuItems

    我需要在我的应用程序中自定义 ToolStripMenuItems 每个打开子菜单的 ToolStripMenuItem 的文本附近都有一个黑色箭头 我想更改一些颜色 MenuItemSelected MenuItemBorder Menu
  • JavaScript 中仅比较日期部分而不比较时间

    下面的代码有什么问题 也许只比较日期而不是时间会更简单 我也不知道如何做到这一点 我进行了搜索 但找不到我的确切问题 顺便说一句 当我在警报中显示两个日期时 它们显示为完全相同 My code window addEvent domread
  • System.Data.DataException:初始化数据库时发生异常

    请帮我解决这个问题 我已经编写了使用 LINQ 从数据库获取第一条记录的代码 My Homecontroler CustomHandleError public class HomeController Controller Domain
  • 如何动态生成团队之间可能的遭遇?

    我感谢您提前在本练习中提供帮助 其中我还没有发现如何解决它的真相 如何动态生成团队之间可能的遭遇 具有以下输入字段 开始日期 teams fields 玩的天数 例如以下数据 const startDate 03 08 2020 const
  • MySQL - 连接上的特定列?

    在进行连接 内部 左外部 右外部或其他 时 如何指定表中的哪些列要连接到原始表中 考虑以下示例 SELECT FirstName FROM User LEFT OUTER JOIN Provider ON User ProviderID P
  • 谁能量化 C++ 和 Java 之间的性能差异?

    在 JIT 出现之前 Java 最初速度很慢 但现在的性能非常接近 C 我想知道是否有人对这两种语言进行了可衡量的性能比较 与C 相比 Java的不足在哪里 Java 为开发人员提供了许多生产力提升 因此他们可以更快地编写应用程序 因为没有
  • Mockito:使用类型兼容的参数验证重载方法

    考虑你想要mock一个接口使用Mockito包含以下方法签名 public void doThis Object o public void doThis Object o 我需要verify that doThis Object o 而不
  • 当仪表板按钮被禁用时,我们可以显示不同的工具提示吗?

    我专门使用 Tridion 2011 的 PowerTools 扩展 但这适用于仪表板中带有按钮的任何 Anguilla 扩展 我们可以设置
  • getElementById() 高效吗? [复制]

    这个问题在这里已经有答案了 我经常用这个方法getElementById id1 在我的方法中 我用它来查找 HTML 中的某些元素 我想知道如果每次都必须搜索整个 DOM 我是否需要关心我使用它的程度 这个方法如何运作 它是否解析 DOM
  • 创建具有大量标志的位标志变量或如何创建大位宽数字

    假设我有一个枚举 其位标志选项大于标准数据类型中的位数 enum flag t FLAG 1 0x1 FLAG 2 0x2 FLAG 130 0x400000000000000000000000000000000 由于多种原因 这是不可能的
  • 如何检查字符串是否与 Python 中的设定模式匹配?

    我想将字符串与特定模式或单词集匹配 如下所示 the apple is red是查询并且the apple orange grape is red orange violet是要匹配的模式 这些管道代表可以相互替换的单词 该模式也可以分组为
  • 如何检索单元格评论的文本

    我找到了很多用于创建的示例 但没有找到用于检索单元格注释文本的示例 我错过了一些明显的事情吗 Range Comment Text似乎在这里工作没有任何问题 e g if not ActiveCell Comment is nothing
  • RestKit 不会从本地存储中删除孤立对象

    您好 我已将 RestKit 从 0 10 2 更新到 0 20 3 现在更新后 当 Web 服务中缺少对象时 RestKit 不会从本地存储中删除它们 我知道 RestKit 0 20 x 支持它 但我无法配置它 我按照这里给出的例子进行
  • 如何通过其值而不是位置设置微调器默认值?

    我的数据库中有 1 50 条记录 我使用游标获取这些数据 并使用简单游标适配器将这些值设置为 Spinner 现在我需要的是我想设置一个值 例如第 39 个值 作为默认值 但我不想通过它的位置来设置它的值 我知道如何通过其位置设置微调器默认
  • 在Centos 6.6 64位中安装pymssql

    我尝试在 Centos 6 6 中 pip install pymssql 但不断遇到此错误 mssql c 314 22 错误 sqlfront h 没有这样的文件或目录 cpp helpers h 34 19 错误 sybdb h 没有
  • 检测节点在场景中何时可见

    我正在尝试找到一种方法来检测 或接收通知 节点已添加到场景中并且可见 我正在主 JavaFx 线程中创建 Node 对象 并将它们添加到舞台和场景中 使用Platform runLater 但是 我希望 Node 对象接收已添加到场景中并且
  • Typescript:将 JSON 对象转换为类/接口对象

    我正在尝试将 API 响应转换为打字稿类 接口 这里 API 返回具有某些属性的对象列表 但我只需要响应对象的少数属性 API响应示例 Id 1 Name test Description Test PropertyX x Property
  • DNS 在 PHP 中不工作(但一般情况下可以)

    以下脚本 返回 DNS 记录列表 但最终在 file get contents 上失败 尽管 phpinfo 说 allow url fopen On On allow url include Off 出现以下错误 PHP 消息 PHP 警