我已经这样安装了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 / lib / php吗?
该怎么做,因此我可以从html公共目录之外包含内容,并模拟真实的实时网络服务器环境,其中nonpublic文件夹不在html(public_html)文件夹之外?
答案 0 :(得分:2)
它与包含路径无关。 __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