包含/要求路径解析

时间:2014-09-19 00:21:55

标签: php ubuntu include

我在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;导致它的服务器包括第二个包括?谢谢!

1 个答案:

答案 0 :(得分:1)

将它放在两个系统上的file1.php中:echo get_include_path();并查看会发生什么(tm)。