Pear Dbクラスを使用してMySqlデータベースとやりとりするためのDatabase.phpというクラスを作成しました。Pear DBクラスが見つかりません
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
を使用しています。私はさらにパッケージをインストールしようとしましたが、まだ同じエラーが表示されます。 ここで何が間違っているのか分かりません。誰かが私を正しい方向に向けることができますか?
注:sudo apt-get install php5
を使用してphp5をインストールしていません。私はKeryxアプリケーションを使用してphp5パッケージをダウンロードしました。
おかげでそれをインストールすることができますたくさん。 :)。つまり、Pear DBクラスはPhp 5に同梱されていませんか?再びすばやい返信に感謝します。 – Searock
@Searock - http://pear.php.net/package/DB - そう思わない。このパッケージの間には**が置き換えられました** – ajreal
したがって、私はPear DBクラスの使用をやめ、MDB2に切り替えることをお勧めしますか? – Searock