我已经像这样安装了 php:
version: '3.3'
services:
web:
image: php:7.3-apache
container_name: php73
volumes:
- ./php:/var/www/html/
ports:
- 8000:80
并且它有效。
但是我想包含 html 文件夹之外的文件夹中的一些文件,但失败了。
我在根文件夹中的index.php 中包含的代码是require __DIR__ 。 '/../nonpublicfolder/includeme.php';
但失败了。有错误:
Fatal error: require(): Failed opening required '/var/www/html/../nonpublicfolder/includeme.php' (include_path='.:/usr/local/lib/php') in /var/www/html/index.php on line 4
所以,我想我必须以某种方式将文档根目录设置为/var/www/html/,就像现在一样,但将 include_path 更改为/usr/local/lib/而不是/usr/local/库/php?
如何做到这一点,以便我可以包含 html 公共(public)目录之外的内容并模拟真实的网络服务器环境,其中非公共(public)文件夹位于 html (public_html) 文件夹之外?
最佳答案
与包含路径无关。 __DIR__ 。 '/../nonpublicfolder/includeme.php'
是一个完整路径,“相对”于脚本目录。您还需要安装 ./nonpublicfolder
这样的事情应该有效:
version: '3.3'
services:
web:
image: php:7.3-apache
container_name: php73
volumes:
- ./php:/var/www/html/
- ./nonpublicfolder:/var/www//nonpublicfolder/
ports:
- 8000:80
关于docker - 如何包含/需要 Docker 根目录以上文件夹中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58087357/