0

首先让我说我是 PHP 的初学者,特别是 PHP 面向对象的编程。

我正在开发 V7.0.9 海豚版。http://www.boonex.com/dolphin

当我试图包含一个来自我合作的第 3 部分开发人员的 class.php 时

<?php
include_once ('modules/developer/configure/classes/class.php');

我收到此错误:

Warning: include_once(modules/developer/configure/classes/ClassExample.php): failed to open stream: No such file or directory in /var/www/vhosts/mysite.com/httpdocs/dolphin/inc/classes/BxDolPageView.php(612) : eval()'d code on line 2
Warning: include_once(): Failed opening 'modules/developer/configure/classes/ClassExample.php' for inclusion (include_path='.:') in /var/www/vhosts/mysite.com/httpdocs/dolphin/inc/classes/BxDolPageView.php(612) : eval()'d code on line 2
Fatal error: Class 'ClassExample' not found in /var/www/vhosts/mysite.com/httpdocs/dolphin/inc/classes/BxDolPageView.php(612) : eval()'d code on line 6

我试图找出问题出在哪里……它来自 Boonex 吗?或者它是否链接到我的服务器配置?我真的不知道从哪里开始解决...

如果您对此有所了解,请提前感谢您的帮助

[编辑] 我没有说我正在新闻主页上的 PHP 块中编写我的代码。初始 HTML 块已被定制以接受 PHP。

4

1 回答 1

0

您应该插入要包含的文件的完整路径。您可以使用__DIR__(或dirname(__FILE__)获取当前目录,然后,您的代码应如下所示:

<?php
// add this to see an error if file is not found
// and don't forget to remove this in production mode
error_reporting(E_ALL);ini_set('display_errors', 'On');

$path = dirname(__FILE__).'/';
include_once ($path.'modules/developer/configure/classes/class.php');

通常,第一个调用的文件定义一个常量 likedefine('ROOT_DIR', __DIR__.'/')并将其用于每个包含或要求。

编辑:如果由于服务器配置__FILE__而不__DIR__可用,您可以查看获取当前脚本的绝对路径(特别是那个答案)以获取替代方案

于 2013-10-30T10:23:47.537 回答