Форумы портала PHP.SU » PHP » PEAR и PECL » Fatal error: Class 'PEAR_Error' not found in C:\xampp\php\PEAR\DB.php on line 947

Страниц (1): [1]
 

1. bosston_812 - 27 Апреля, 2012 - 07:11:00 - перейти к сообщению
Здравствуйте!!!
Помогите мне с мой проблемой. Проблема в том что, какой юы я код не писал связаный с DB.php файлом мне выдает одну и туже ошибку.
Fatal error: Class 'PEAR_Error' not found in C:\xampp\php\PEAR\DB.php on line 947

даже если я пишу простой скрипт
<?php
require_once('DB.php');
?>
Всеравно пишет тоже самое.
Что это может быть и как с этим справится?
Большое спасибо.
2. altermann - 27 Апреля, 2012 - 08:15:05 - перейти к сообщению
DB.php вызывает внутри класс PEAR_Error и его доже надо добавить в pear
3. bosston_812 - 27 Апреля, 2012 - 18:33:37 - перейти к сообщению
Как это сделать?
Я с PEAR только недавно столкнулся. так что еще не очень сильно в этом понимаю. Если не тяжело обясните пожалуйста.
Спасибо.
4. Okula - 27 Апреля, 2012 - 19:23:29 - перейти к сообщению
bosston_812, а причём тут PEAR? Нужно просто сделать автоматическую загрузку классов, реализовав функцию __autoload();
5. OrmaJever - 27 Апреля, 2012 - 19:53:30 - перейти к сообщению
bosston_812, а вы уверены что этот класс существует у вас в файлах? Судя по наванию он описан где то в модулях php, хотя могу и ошибатся.
6. bosston_812 - 29 Апреля, 2012 - 00:12:45 - перейти к сообщению
Вот что у меня находится в этом файле начиная со строки 946

class DB_Error extends PEAR_Error
{
// {{{ constructor

/**
* DB_Error constructor
*
* @param mixed $code DB error code, or string with error message
* @param int $mode what "error mode" to operate in
* @param int $level what error level to use for $mode &
* PEAR_ERROR_TRIGGER
* @param mixed $debuginfo additional debug info, such as the last query
*
* @see PEAR_Error
*/
function DB_Error($code = DB_ERROR, $mode = PEAR_ERROR_RETURN,
$level = E_USER_NOTICE, $debuginfo = null)
{
if (is_int($code)) {
$this->PEAR_Error('DB Error: ' . DB::errorMessage($code), $code,
$mode, $level, $debuginfo);
} else {
$this->PEAR_Error("DB Error: $code", DB_ERROR,
$mode, $level, $debuginfo);
}
}

// }}}
}

// }}}
// {{{ class DB_result

/**
* This class implements a wrapper for a DB result set
*
* A new instance of this class will be returned by the DB implementation
* after processing a query that returns data.
*
* @category Database
* @package DB
* @author Stig Bakken <ssb@php.net>
* @copyright 1997-2007 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
* @version Release: 1.7.13
* @link http://pear.php.net/package/DB
*/
7. OrmaJever - 29 Апреля, 2012 - 00:20:21 - перейти к сообщению
bosston_812, как я и говорил этот класс находится в модуле php, а не в php файлах, этот модуль нужно подключить.
http://pear.php.net/manual/tr/co...r.pear-error.php
8. bosston_812 - 29 Апреля, 2012 - 04:03:57 - перейти к сообщению
OrmaJever
Как и куда мне его нужно подключать? Извените пожалуйста, я на самом деле не могу понять что к чему нужно подключить. Если есть информация по подробнее по этому поводу поделитесь пожалуйста. Я только делаю первые шаги в PHP программировании, так что еще не очень все понимаю.
Большое спасибо.
(Добавление)
Okula
Okula пишет:
bosston_812, а причём тут PEAR? Нужно просто сделать автоматическую загрузку классов, реализовав функцию __autoload();


Как реализовать єту функцию? И как сделать автоматическую загрузку классов?
9. OrmaJever - 29 Апреля, 2012 - 10:29:32 - перейти к сообщению
Я сам с ним не работал, вот что нашёл в гугле
http://easy4web[dot]ru/?p=553
10. bosston_812 - 30 Апреля, 2012 - 00:20:59 - перейти к сообщению
Большое OrmaJever за помощь. Сейчас буду сидет разбираться что к чему Улыбка
(Добавление)
Я все установиль, все работает, так написано в мануале, а ошибку всеравно туже самую выдает. Я даже уже не знаю что делать.
11. TSEO - 27 Февраля, 2014 - 14:34:13 - перейти к сообщению
PEAR вот только вчера начал использовать.
И у меня такая же проблема. В чем дело так и не смог разобраться.

Но решил ее так:
в файл Net\Socket.php

вместо строки require_once 'PEAR.php';

вставил содержимое файла PEAR.php и все заработало.

P.S.
Чудес не бывает и значит чего-то я не до конца понимаю или не знаю тонкостей.
Почему если файл включать с помощью require_once то возникает ошибка?
include_path в php.ini прописан как ".;c:\php\pear" т.е. файл по идее правильный подключается.

 

Powered by ExBB FM 1.0 RC1