我正在运行两个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无法正常工作。
答案 0 :(得分:1)
我认为您代码中的这一部分是错误的
$url = "/data/nav.json";
您要在错误的目录中查找文件。
此更改对我有用
$url = __DIR__ . "/../data/nav.json";
答案 1 :(得分:0)
前段时间我遇到了同样的问题,并通过相对路径解决了该问题:
file_get_contents(getcwd() . '/data/something.json');