PHP代码,"包括"功能不包括文件

时间:2018-06-04 18:43:06

标签: php include require-once

正如标题所说,include函数在我的代码的某个部分不起作用。由于同一文件的另一部分使用" include",我知道这不是这个特定文件的问题,这是我试图包含它的问题。我只是PHP的初学者,所以我无法弄清楚我做错了什么,尽管实际上有几个小时查找不同的解决方案并尝试它们。

复制实际代码需要太多空间,所以我只需要用所需的信息来做一个更简单的版本。 file1.php的位置是:

$_SERVER['DOCUMENT_ROOT']."/TAO_3.1.0-RC3_build/taoDelivery/controller/file1.php"

file2.php的位置是:

$_SERVER['DOCUMENT_ROOT']."/dashboard/controllers/file2.php"

file1.php:

class ClassA {
   public function functionA()
   {
     //does its thing
   }

file2.php:

include("../../TAO_3.1.0-RC3_build/taoDelivery/controller/file1.php");

class ClassB {
   public function functionB()
   {
       //does its thing, and as testing I included a printout of all included files

       $included_files = get_included_files();
       foreach($included_files as $filename)
       {
           echo "$filename\n";
       }
   }

这不起作用,成功回显所有包含文件的foreach循环包括其他包含的文件,但不包括此文件。唯一不同的是,其他文件在位置上更接近,例如只有一个文件夹,而不是多个文件夹。

我试过了

include("file1.php");

而不是按文件夹逐个文件夹的较长文件,但它也不起作用。我也尝试过使用require_once和require,但是他们只是停止了其余的代码,并且页面没有完全加载应该的内容(致命的错误,这让我更加确信我错过了我的语法中的一些东西) 。任何帮助都会非常感激,谢谢!!

编辑:

我修复了相对路径,使用../../../而不是原来的两个。由于某种原因,这还没有解决问题。 使用require()会导致致命错误,并且不会发生其余代码。 我(不幸的是,并非理想情况下)在一个实时网站上工作,所以我必须找出如何检测这个项目的错误,以便查看确切的错误require()带来了什么。感谢您提供有用的评论

编辑#2:

我发现包含的问题是什么,因为我无法访问错误日志,所以我使用

将错误转储到屏幕上
ini_set('display_errors', 1);
ini_set('log_errors', 1);
ini_set('error_log', dirname(__FILE__) . '/log.txt');
error_reporting(E_ALL);

导致打印出致命错误:

致命错误:Class' tao_actions_CommonModule'在第42行的/var/www/html/taoplatform/TAO_3.1.0-RC3_build/taoDelivery/controller/file1.php中找不到

总之,这不是包含功能不起作用的问题,这是我试图包含的文件的问题,这是一个完全不同的问题。谢谢大家的帮助!

0 个答案:

没有答案