カテゴリーアーカイブ: PHP

PHP5で使えるDB抽出レイヤー、PDOのインストール。

PEAE::DB,MDB,ネイティブ関数と比べて、
>比較的高速に動作
>例外処理に対応している
といったところでしょうか。
見た感じ、ベータ版らしい。

自鯖へのインストール

// PDOのインストール
pear download pdo
tar zxvf PDO-0.3.tgz
cd PDO-0.3
phpize
./configure
make
make install
// extensions/no-debug-non-zts-20041030/
// 以下に出来たので、extensions直下にコピーする
vi php.ini
  extensions=pdo.so

// PostgreSQL,MySQLドライバのインストール
pear download pdo_pgsql
pear install PDO_PGSQL-0.2.tgz
pear download pdo_mysql
pear install PDO_MYSQL-0.2.tgz
// 特にエラーは出なかった
// pdo.soと同じく、extensions直下にコピー
vi php.ini
  extensions=pdo_pgsql.so
  extensions=pdo_mysql.so

// モジュールのチェック
php -m
...
PDO
pdo_pgsql
pdo_mysql
...
// ブラウザからチェック
vi test.php
<?php phpinfo(); ?>
// PDO,pdo_pgsql,pdo_mysqlの項目が出ていないようなら、
// apacheを再起動してみる

あとは接続テストスクリプトなど作って試してみればOK

こんな簡単に出来るとは知りませんでしたorz

インストールの際にOLEが必要なのでインストールする。

pear install OLE
pear install Spreadsheet_Excel_Writer

直接アーカイブをダウンロードするにはhttp://pear.php.net/package/Spreadsheet_Excel_Writerから。

ファイル生成のテスト

<?php
//PEARクラスのインクルード
include_once("Spreadsheet/Excel/Writer.php");
//ワークブックの生成
$workbook = new Spreadsheet_Excel_Writer();
//ワークシートの生成
$worksheet =& $workbook->addWorksheet(mb_convert_encoding("シート1","SJIS"));

//列幅の設定
$worksheet->setColumn(0,0,5);    //1列目幅5
$worksheet->setColumn(1,1,10);   //2列目幅10
$worksheet->setColumn(2,5,2);    //3-6列目幅2

//書式の設定
$format1 =& $workbook->addFormat();
$format1->setColor("red");
$format1->setBold(1);
$format1->setItalic(1);
$format1->setBorder(1);
$format1->setBorderColor("blue");

//値を定義
$worksheet->write(0,0,"001");
$worksheet->writeString(0,1,mb_convert_encoding("ほげほげ","SJIS"),$format1);
$worksheet->writeNumber(1,0,"001",$format1);
//式を定義
$worksheet->writeFormula(2,0,"=SUM(A1:A2)");

//HTTPヘッダー出力
$workbook->send("sample2.xls");
//excel出力
$workbook->close();

exit;
?>

概ねこんな感じ。

Expatのインストール

http://sourceforge.net/projects/expat/

wget http://jaist.dl.sourceforge.net/sourceforge/expat/expat-1.95.8.tar.gz
cd expat-1.95.8.tar.gz
./configure
make
make install

Sablotronのインストール

http://www.gingerall.com/charlie/ga/xml/p_sab.xml

tar zxvf Sablot-1.0.2.tar.gz
cd Sablot-1.0.2
./configure
make
make install

php configure時に

–enable-xslt –with-xslt-sablot

を追加する。

しかし、実際にコレを使う場面はほとんど無いといっても良い。
たまたま使いたいと言う奴がいたので入れてみました。

ストレスサーバーにて実験
tar zxvf php-5.0.1.tar.gz
cd php-5.0.1
./configure
--with-apxs2=/usr/local/apache2/bin/apxs
--with-openssl
--with-mysql=/usr/local/mysql
--with-pgsql=/usr/local/pgsql
--enable-mbstring
以下オプションを追加
--with-zlib
--with-gd
--with-jpeg-dir=/usr/local
--with-png-dir=/usr/local

configure: error: libxml2 version 2.5.10 or greater required.

version 2.5.10にしろみたいなことを出されたので、
libxml2をバージョンアップする

wget http://xmlsoft.org/sources/libxml2-2.6.13.tar.gz
tar zxvf libxml2-2.6.13
./configure
make
make install

もう一度ビルド
./configure
--with-apxs2=/usr/local/apache2/bin/apxs
--with-openssl
--with-mysql=/usr/local/mysql
--with-pgsql=/usr/local/pgsql
--enable-mbstring
以下オプションを追加
--with-zlib
--with-gd
--with-jpeg-dir=/usr/local
--with-png-dir=/usr/local

make
make install

cp php.ini-dist /usr/local/lib/php.ini

以前編集したphp.iniはテスト用だったのであまり参考にならないので、
今回は少しずつ加筆修正を行っていく。

コンパイル&インストール
# ./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--enable-mbstring \
--enable-mbregex \
--enable-mbstr-enc-trans \
--enable-trans-sid \
--with-mysql=/usr/local/mysql
# make
# make install

設定ファイルをコピーする
# cp php.ini-dist /usr/local/lib/php.ini

各設定ファイルの修正
# vi httpd.conf
AddType application/x-httpd-php .php
LoadModule php4_module modules/libphp4.so

# vi php.ini
output_buffering = On
output_handler = mb_output_handler
register_globals = Off
session.save_path = /tmp/php/session_dir/
session.use_cookies = 0
session.name = sid
session.gc_dividend = 10
session.gc_maxlifetime = 600
session.use_trans_sid = 1
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = EUC-JP

適当にtest.phpというファイルを作って
<?php phpinfo(); ?>
と記述して、ブラウザから実行できればOK