docker nginx php-fpm file_get_contents无法正常工作

时间:2019-06-11 11:43:44

标签: php docker nginx

我正在运行两个docker映像(nginx和php-fpm)的组合。两者都可以正常工作,我可以打开示例网站,但是在PHP中使用import时出现一个错误:

file_get_contents

我的nginx指向Warning: file_get_contents(/data/nav.json): failed to open stream: No such file or directory in /var/www/localhost/partials/header.php on line 3 ,并且/var/www/localhost文件夹位于根目录中。我的index.php中的相对URI像data一样有效,而其他网站的完整URL也在起作用。

此处提供完整的源代码:https://github.com/muuvmuuv/webserver

我还在Docker PHP的GitHub上发布了一个问题:https://github.com/docker-library/php/issues/836

我想知道这是由nginx还是php-fpm引起的,为什么绝对URL无法正常工作。

2 个答案:

答案 0 :(得分:1)

我认为您代码中的这一部分是错误的

$url = "/data/nav.json";

您要在错误的目录中查找文件。

此更改对我有用

$url = __DIR__ . "/../data/nav.json";

答案 1 :(得分:0)

前段时间我遇到了同样的问题,并通过相对路径解决了该问题:

file_get_contents(getcwd() . '/data/something.json');