PDOクラスを使いたいが、peclからPDOをインストールできない。
PDOのクラスライブラリを読み込むために
peclからPDOをインストールする必要があるが、インストールができない。エラーと表示される。php.iniをかなりいじり、phpinfoにもPDO,pdo_mysql,PDO_ODBC,pdo_pgsql,pdo_sqliteが表示されているのに、なぜか動かない。
■下記はコマンドプロンプト
>cd c:\ php
c:\php>pecl install pdo
downloading PDO-1.0.3.tgz ...
Starting to download PDO-1.0.3.tgz(52,613 bytes)
..............done:52,613bytes
12 source files,building
ERROR: The DSP PDO.dsp does not exist.
■動かしたいプログラムのコード(PHP辞典(山田祥寛著)から参照・引用)
<?php
require_once("C:\Program Files/Apache Group/Apache2/php_libs/Smarty/libs/Smarty.class.php");
$db=new PDO("sqlite:",dirname(__FILE__)."/sample.sqlite");
$rs=$db->query("SELECT * FROM books");
$o_smarty=new Smarty();
$o_smarty->caching=2;
$o_smarty->template_dir="./templates";
$o_smarty->compile_dir="./templates_c";
$o_smarty->cache_dir="./cache";
$o_smarty->assign("data".$rs->fetchAll(PDO::FETCH_ASSOC));
$o_smarty->display("foreach.tpl");
print ($o_Smarty->fetch("foreach.tpl"));
?>
■そして、そのコードがブラウザから表示するエラーメッセージ
Fatal error: Uncaught exception 'PDOException' with message 'safe_mode/open_basedir prohibits opening ' in C:\Program Files\Apache Group\Apache2\htdocs\dis.php:4 Stack trace: #0 C:\Program Files\Apache Group\Apache2\htdocs\dis.php(4): PDO->__construct('sqlite:', 'C:\Program File...') #1 {main} thrown in C:\Program Files\Apache Group\Apache2\htdocs\dis.php on line 4
下記のご回答をお願いします。
(1)コマンドプロンプトに表示されるエラーはどんな意味でしょうか。何がいけないとか物足りないことがありますでしょうか。
(2)そのコードのおかしいところがあったらご指摘をお願いします。
(3)コンパイルエラーメッセージを翻訳したのですが、ちょっと意味がわからないので、教えてください。
ご回答をよろしくお願いします。かなり困っています。
お礼
ご回答誠にありがとうございます。 入門書ではPDOの説明しかしていないので、 戸惑っています。