[英]nested require_once with absolute path not working
我有一个三层嵌套的require_once
:
user@mybox:/tmp/foo $ cat bar.php
<?php
ini_set('display_errors', 1);
require_once 'foo3.php';
user@mybox:/tmp/foo $ cat foo3.php
<?php
require_once 'foo2.php';
echo "foo3" . PHP_EOL;
user@mybox:/tmp/foo $ cat foo2.php
<?php
require_once 'foo.php';
echo "foo2" . PHP_EOL;
user@mybox:/tmp/foo $ cat foo.php
<?php
require_once 'Mage.php';
echo "foo" . PHP_EOL;
user@mybox:/tmp/foo $ cat Mage.php
<?php
die('require once works' . PHP_EOL);
这有效:调用php bar.php
我得到输出require once works
。
如果我现在将foo.php
更改为使用绝对路径:
user@mybox:/tmp/foo $ cat foo.php
<?php
require_once '/tmp/foo/Mage.php';
echo "foo" . PHP_EOL;
我得到以下输出:
user@mybox:/tmp/foo $ php bar.php
foo
foo2
foo3
并且最后一个文件的包含不起作用。
非嵌套的require_once
也可以工作:
user@mybox:/tmp/foo $ php foo.php
require once works
这仅在某些机器上发生(具有相同的PHP版本PHP 5.3.3(cli)(内置:2014年8月6日05:09:45)
更新
php foo2.php
也无法正常工作
我们发现仅使用绝对路径即可。 混合似乎是问题所在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.