我已經創建了一個名爲Database.php的類,用於使用Pear Db類與MySql數據庫進行交互。Pear DB class not found
database.php中
<?php
require_once('DB.php');
require_once('cException.php');
class DataBase
{
private $dsn = 'mysql://root:[email protected]/avatar';
private $conn;
//Constructor
function __construct()
{
global $conn;
$this->conn = DB::connect($dsn);
if(DB::isError($conn))
{
throw new DatabaseConnectionException();
}
}
//destructor
function __destruct()
{
$this->conn->disconnect();
}
public function select($query)
{
$conn->setFetchMode(DB_FETCHMODE_ASSOC);
$result = & $conn->query($query);
if(DB::isError($result))
{
return new SelectCommandException($result->getMessage());
}
return $result;
}
static public function instance()
{
static $objDB;
if(! isset($objDB))
{
$objDB = new DataBase();
}
return $objDB;
}
?>
我打電話來,從test.php的
test.php的
<?php
ini_set('display_errors', 1);
ini_set('log_errors', 1);
ini_set('error_log', dirname(__FILE__) . '/error_log.txt');
error_reporting(E_ALL);
require_once 'Database.php';
try
{
$db = DataBase::instance();
}
catch (DatabaseConnectionException $ex1)
{
echo $ex1->toString();
}
try
{
$sql = "Select * from register";
$result = $db->select($sql);
var_dump($result);
}
catch (SelectCommandException $ex2)
{
echo $ex2->toString();
}
?>
當我運行測試樣本文件這個類。 PHP我得到以下錯誤
Warning: require_once(/usr/share/pear/DB.php): failed to open stream: No such file or directory in /var/www/Avatar/Database.php on line 2 Fatal error: require_once(): Failed opening required '/usr/share/pear/DB.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/Avatar/Database.php on line 2
我不知道爲什麼我得到這個錯誤。在phpinfo()它顯示include_path .:/usr/share/php:/usr/share/pear .:/usr/share/php:/usr/share/pear
我使用php5
我甚至嘗試安裝php-pear
包,仍然我得到相同的錯誤。 我不明白這裏有什麼問題。有人能指點我一個正確的方向。
注意:我還沒有安裝php5使用sudo apt-get install php5
。我已經使用Keryx應用程序下載了php5軟件包。
由於安裝了它很多。 :)。這意味着Pear DB類不隨Php 5發貨?再次感謝您的快速回復。 – Searock 2010-12-19 16:04:04
@Searock - http://pear.php.net/package/DB - 不太可能。在這個包之間是**取代了** – ajreal 2010-12-19 16:07:15
那麼建議我停止使用Pear DB類並切換到MDB2? – Searock 2010-12-19 16:14:44