Задать вопрос
@traestan
Web разработчик

Почему PHP не видит класс?

Доброго времени суток!

У меня проблема в следующем, класс не видит другой подключенный класс.
Проблема появилась после обновления CentOS.

P.S. get_declared_classes() показал что классы декларированы.
Классы находятся в одной папке и видят друг друга.
Сообщение ошибки Fatal error: Class 'DB_Query' not found in db.php on line 46
require_once(dirname(__FILE__).'/db.mysql.connection.class.php');
require_once(dirname(__FILE__).'/db.mysql.query.class.php');
require_once(dirname(__FILE__).'/db.mysql.class.php');
require_once(dirname(__FILE__).'/db.mysql.pages.class.php');

сам код класса
Class DB {

//------------------------------------------------------------------------------
//
static function Config($id='*')
{
	static $conf;

	if (!isset($conf)) {
		$conf = parse_ini_file($GLOBALS['CONFIG_ROOT'] . '/db.conf', true);
	}
	return $id=='*' ?$conf :$conf[$id];
}

//------------------------------------------------------------------------------
//
static function Connection($id='*')
{
	static $dbis=null;
	if (!isset($dbis[$id])) {

		$dbcfg	   = self::Config($id);
		$dbis[$id] = new DB_Mysql_Connection();
		$dbis[$id]->connect($dbcfg['host'], $dbcfg['user'], $dbcfg['password'], $dbcfg['database']);
		$dbis[$id]->Exec("SET NAMES UTF8");

	}
	return $dbis[$id];
}

static function Query($q=null)
{	
    $query = new DB_Query(DB::Connection());
	if ($q)	$query->Table($q);

	return $query;
}
}
  • Вопрос задан
  • 3937 просмотров
Подписаться 5 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 5
@Nc_Soft
Покажите ls -l той папки где все эти классы лежат.
Ответ написан
dabich
@dabich
Web Developer
Надеюсь не так же написан сам класс? Потому что тут очевидно.
lass DB {
Ответ написан
@masterworks
short_open_tag в порядке?
Ответ написан
nazarpc
@nazarpc
Open Source enthusiast
В примере который вы дали объявления DB_Query не видно.
Ответ написан
Комментировать
у вас часом не стоит apc c параметром include_once_override = true ?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы