【问题标题】:PHP Unable to Resolve HostsPHP 无法解析主机
【发布时间】:2014-01-23 23:25:58
【问题描述】:

在 PHP cURL 无法解析主机名时首次发现。 fopen('google.com', 'r') 也因同样的错误而失败。

我检查了我的 php.ini 设置和allow_url_fopen = On

我正在使用 Nginx 运行自定义编译的 PHP-FPM。 这是我的配置命令: ./configure --disable-rpath --disable-cli --disable-cgi --enable-fpm --with-fpm-user=php --with-fpm-group=php --enable-mbstring --enable-mbregex --enable-bcmath --enable-zip --enable-sockets --enable-pdo --enable-opcache --enable-ftp --with-regex --with-mhash --with-curl --with-zlib --with-pcre-regex --with-mcrypt --with-openssl --with-gd --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd

我可以运行任何需要解析 dns 解析的命令(wgetping 等)在命令行上运行良好,resolv.conf 也很好。我正在运行 Cent OS 6.5

在让 PHP 开始解析主机名方面我有什么遗漏吗?

【问题讨论】:

  • fopen('google.com', 'r') 应该寻找一个名为 google.com 的本地文件,这可以理解为失败。您传递给 fopen 的参数究竟是什么导致它失败?
  • 它实际上尝试了google.com
  • 我真的不认为它会尝试 google.com。我想如果你想让它尝试 google.com,你必须这样做: fopen('google.com', 'r');否则,您将如何在自己的驱动器上打开名为 google.com 的文件?当然,它把它变成了一个链接。试试: (fopen('http://' . 'google.com', 'r');

标签: php curl dns


【解决方案1】:

我发现它是 PHP 中的 chroot 配置。如果 chroot 中没有所有适当的库,就无法执行 chroot。

【讨论】:

  • 谢谢!我删除了chroot = /var/www 并开始解决问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-30
  • 2016-04-13
  • 2020-05-01
  • 2017-03-26
  • 2013-02-06
  • 1970-01-01
  • 2015-02-27
相关资源
最近更新 更多