php - 包括/要求路径解析

标签 php ubuntu include

我在 PHP 中有这种情况,其中 include在一台服务器上被遗漏,但在另一台服务器上没有(我没有设置服务器,所以我不能告诉你更多;我不是真正的 devops 人,所以这就是我在这里问的原因)。两台服务器上的代码相同,并且都运行带有 PHP FPM 5.5.9 的 Ubuntu 14.04。

这是一个例子:

文件1.php

<?php
  var_export('1');
  include_once('somedir/file2.php');
  include_once('include.php');
?>

包含.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。如果我导航到“损坏”服务器上的 file1.php,我会收到一条错误消息,提示无法重新定义函数 foo。

我的“损坏”服务器上是否有一些设置导致它包含第二个包含?谢谢!

最佳答案

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

关于php - 包括/要求路径解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25924484/

相关文章:

php - 服务器性能问题 - 哪个查询将是更好的解决方案

ubuntu - Kubernetes 在本地开始使用 docker

ubuntu - 无法在 Ubuntu 20.04 的 dbeaver 的输入字段中输入任何内容

c++ - 尽管设置了路径,但 g++/Eclipse 找不到包含文件

php - 无法从 EC2 WordPress 站点连接到 Amazon RDS

php - 在设定的到期时间(例如 5 分钟)后删除数据库行

php - 比较数组中的元素并循环遍历每个 php

ubuntu - 想使用 `Vlan` 的 `OpenVSwitch` 功能和 `LXD/LXC`

php - 如何防止包含的文件在 PHP 中生成输出?

php - 读取包含文件会减慢 php 脚本加载速度吗?