首先让我说我是PHP的初学者,特别是PHP面向对象的编程。
我正在开发V7.0.9 dolphin版本。http://www.boonex.com/dolphin
虽然我正在尝试将第三方开发人员的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。
答案 0 :(得分: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');
通常,第一个被调用文件定义一个类似define('ROOT_DIR', __DIR__.'/')
的常量,并将其用于每个包含或需要。
编辑:如果__FILE__
和__DIR__
由于服务器配置而无法使用,您可以查看Get absolute path of current script(特别是that answer)替代方案