くまきち

山と旅と家族が大事。
でも激しい物欲が理性と財布のタガを飛ばす
最近は自転車も乗ってる

PHPExcel を入れてみる

2009-09-24 19:49:41 | SEまわり
PHPExcel を使ってみる。


依存関係で、Zip 拡張が必要なので、PECL からインストールする

  
pecl install zip


インストールに成功すると、次のようなメッセージが出てくる。

  
Build process completed successfully
Installing '/usr/local/lib/php/extensions/no-debug-non-zts-20060613/zip.so'
install ok: channel://pecl.php.net/zip-1.10.2
configuration option "php_ini" is not set to php.ini location
You should add "extension=zip.so" to php.ini


書かれているとおり、zip モジュールは no-debug-non-zts-20060613 というサブディレクトリの下に配置される。

php.ini では、拡張モジュールの位置は次のように定義しているので、このままでは php が zip モジュールを見つけられない。

  
extension_dir = "/usr/local/lib/php/extensions"


そこで、次のようにして、シンボリックリンクを作成する。

  
cd /usr/local/lib/php/extensions
ln -s no-debug-non-zts-20060613/zip.so ./


で、php.ini には次の行を追加する。

  
extention=zip.so


追加したら、httpd を再起動して Zip 拡張のセットアップは終わり。


続いて、PHPExcel をインストールする。

残念ながら、PEAR にはまだ収録されていないので、ダウンロードページから取ってくる。 今の最新版は、Recommended Download にある、バージョン 1.7.0。

ダウンロードしてきたファイル(1.7.0.zip)を展開する

  
mkdir PHPExcel (展開用のディレクトリを作成)
cd PHPExcel
unzip ../1.7.0.zip


install.txt を見ると、Classes フォルダの中身を、PHP のライブラリサーチパスのどこかに置くように書いてある。
php.ini では、

  
include_path = ".:/usr/local/lib/php"


と定義しているので、Classes の中身をそのままそこに置くことにする。

  
cp -pR Classes/* /usr/local/lib/php/


あとは、サンプルに倣ってファイルを作ってみたりして遊ぶ。


ちょっとひっかかったのは、install.txt には、XML 拡張も必要だと書いてあるんだけど、なくても動いたこと。

使う機能によっては必要になってくるのかな。



【参考情報】
PHPExcelを使ってPHPでExcelファイルを出力する (1) PHPExcelとは
http://journal.mycom.co.jp/articles/2009/03/06/phpexcel/index.html


連続 IP アドレスからの SPAM

2009-09-24 09:16:13 | SEまわり
 珍しくフィルタを通り抜けて、SPAM 3発。


 ◆◆★フレンド・サーチ事務局★より/◆472万円*臨時換金祭◆◆◆

 ◆◆キャサリン高津より/【換金祭のリスト】見てメールしたよ~!◆◆

 ◆◆キャサリン高津より/【換金祭のリスト】見て無いの???◆◆


 キャサリン高津という時点でちょっと噴いた。 なんだよそれw

 中身は、furin.3918.net なページへのリンク集。
 スクリプト禁止にしてアクセスしてみたけど、なんだかそれっぽい感じのページ。
 まあ、どうでもいいのでここまで。


 感心したのは、3通のメールはいずれも別のホスト(正しくは別のIPアドレス)から送信されていたこと。
 ひとつのIPアドレスからの連続送信ではなく、3つから1発ずつ送信されているから、特定IPアドレスを指定してブロックしている場合は防御し損ねることがある。

 ヘッダを見ると、*.secure-post.net からの発信が特徴的だったので、そこでひっかけるように設定しておいた。