我在PHP中遇到这种情况,其中一台服务器上错过include
而另一台服务器错过{我没有设置服务器,所以我不能告诉你更多;我不是一个真正的devops人,所以这就是我在这里问的原因)。两台服务器上的代码相同,都运行Ubuntu 14.04和PHP FPM 5.5.9。
以下是一个例子:
file1.php
<?php
var_export('1');
include_once('somedir/file2.php');
include_once('include.php');
?>
include.php
<?php
var_export('2');
function foo() {}
?>
somedir / file2.php
<?php
var_export('3');
//notice it has the same name as include.php in the starting directory
include_once('include.php');
?>
somedir / include.php
<?php
var_export('4');
function foo() {}
?>
如果我导航到file1.php,工作服务器将打印1,3,2。如果我导航到&#34;破坏&#34;上的file1.php。服务器,我会收到一个错误,说foo函数不能重新定义。
我的&#34;是否有某些设置?#34;导致它的服务器包括第二个包括?谢谢!
答案 0 :(得分:1)
将它放在两个系统上的file1.php中:echo get_include_path();
并查看会发生什么(tm)。