« sqliteコマンド | メイン | Ethna で SQLite の試み »

database , php

PHP5.3.3 から sqlite2 をアクセス

PHP から、PEAR::DB を介して sqlite2 データベースを使用する。
CentOS release 6.4 (Final), CentOS release 5.9 (Final)
PHP Version 5.3.3
 DB 1.7.14 stable
 PEAR 1.9.4 stable
構築手順... ▼
●phpize コマンドがなければ php-devel をインストール。 コンパイルするので make や gcc などの開発ツールも必要
[root@fitPC2i ~]# yum install php-devel
	:
[root@fitPC2i ~]# exit
●ソースの取得・解凍
[taro@fitPC2i ~]$ wget http://museum.php.net/php5/php-5.3.3.tar.gz
	:
[taro@fitPC2i ~]$ tar zxf php-5.3.3.tar.gz
	:
●メイク
[taro@fitPC2i ~]$ cd ~/php-5.3.3/ext/sqlite
[taro@fitPC2i sqlite]$ phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
config.m4:50: warning: AC_CACHE_VAL(pdo_inc_path, ...): suspicious cache-id, must contain _cv_ to be cached
../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
aclocal.m4:2743: PHP_CHECK_PDO_INCLUDES is expanded from...
config.m4:50: the top level
config.m4:50: warning: AC_CACHE_VAL(pdo_inc_path, ...): suspicious cache-id, must contain _cv_ to be cached
../../lib/autoconf/general.m4:1974: AC_CACHE_VAL is expanded from...
../../lib/autoconf/general.m4:1994: AC_CACHE_CHECK is expanded from...
aclocal.m4:2743: PHP_CHECK_PDO_INCLUDES is expanded from...
config.m4:50: the top level

[taro@fitPC2i sqlite]$ ./configure
	:
[taro@fitPC2i sqlite]$ make
	:
●インストール
[taro@fitPC2i sqlite]$ su
パスワード:
[root@fitPC2i sqlite]# make install
Installing shared extensions:     /usr/lib/php/modules/
Installing header files:          /usr/include/php/
●php設定ファイル
[root@fitPC2i sqlite]# vi /etc/php.d/sqlite.ini
extension=sqlite.so
●webサーバ再起動
[root@fitPC2i sqlite]# service httpd restart
	:
[root@fitPC2i sqlite]# exit
sqlite.iniを削除してwebサーバ再起動すれば元に戻る。 ●確認 info.php
<⁄php
	date_default_timezone_set('Asia/Tokyo');
	ini_set('mbstring.internal_encoding', 'UTF-8');
	phpinfo();
⁄>
●例 (同じディレクトリに index.php, database.sqlite2)
<html>
<head>
	<title>例</title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<⁄php
	require_once 'DB.php';
	$dsn = 'sqlite:///./database.sqlite2';
	$db = DB::connect( $dsn );
	$rset = $db->query('SELECT * FROM table');
	$row = $rset->fetchRow( DB_FETCHMODE_ASSOC );
	var_dump( $row );
⁄>
</body>
</html>
●PHP 5.3.26 (Old stable) ←異なるバージョン
http://www.php.net/downloads.php
●PECL
http://pecl.php.net/package/SQLite
●ソースに手を加える手法
などは、いずれもコンパイルに失敗。

Ethna で SQLite の試みへ続く

トラックバック

このエントリーのトラックバックURL:
https://www.remix.asia/cgi/mt/mt-tb.cgi/7012

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)