PHP”;file_get_contents()";函数返回null


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文件,它就可以工作了。我在谷歌上搜索了一些东西,然后在php.ini中验证了选项:

allow_url_fopen = On;

禁用功能列表中没有包含这一点;

然后我重新启动nginx和centOS。但是它不起作用------!!

请帮忙告诉bug在哪里。谢谢

我以前也遇到过同样的问题。我通过添加编码字符集解决了这个问题。在我的例子中,我添加了UTF-8字符集。可能是浏览器对文件进行了编码,但nginx和centOS没有。

  • 在头标记之间添加编码元标记

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

相关文章: