PHP "file_get_contents()" 函数 return 空

PHP "file_get_contents()" function return null

我在CentOS和nginx上使用函数"file_get_contents"时遇到了问题。

error_reporting(E_ALL);

$file = "/srv/http/php/cms/extern/ip/pc.htm";

 if (@is_file($file) === false) {// it is true;

     $result['error'] = 'no file';

 }

 if (@fopen($file, "r") === false) {  // it is true

     @fclose($htmlFilePath);

 }

$htmlContent = file_get_contents($file); // return null

然后我在浏览器中打开 htm 文件,它可以 work.I 搜索 google 中的内容,然后我验证 php.ini:

中的选项
allow_url_fopen = On;

并且禁用的功能列表没有包含那个;

然后我重启了nginx和centOS,但是还是不行-_-!!

请帮忙告诉一下bug.Thanks在哪里!

我以前遇到过同样的问题。我通过添加编码字符集解决了它。就我而言,我添加了 UTF-8 字符集。浏览器可能会对文件进行编码,但 nginx 和 centOS 不会。

  • 在head标签之间添加编码元标签。

如果它不起作用,我建议也用完整的 URL 试试。 PHP 不会将 URL 识别为亲戚 URL。