Page 1 of 212 »

PHPのデバッグにはFirePHPが便利

24 Jul 2008 In: 一般

FirePHP は Firebug に PHP から情報を出力できる Firefox アドオン + PHP ライブラリです。
他のログ出力系ライブラリと違う点は HTTP ヘッダを使って情報を送るということ。script タグを使ったりしないので複雑な構造のプログラムにも対応できます。

自分のテスト環境ではなぜか Xdebug のリモートデバッグが使えないのでデバッグができなかったんですが、これからは FirePHP が活躍しそうです。

DreamHostにはPHPが元々入ってますが、PECLなどの拡張ライブラリが使用できません。
加えてバージョンが古いのです。そこでPHPを自分でコンパイルしてインストールしました。

参考にしたのは、Installing PHP5 - DreamHost

基本は上のページのスクリプトでインストールできるのですが、インストール場所を変えるためと依存パッケージを新しくするために書き直しました。
変更点は以下の通りで、

  • PHP 5.2.6
  • インストール先を $HOME/local に変更
  • php.iniの場所を ${HOME}/etc/php5 に変更
  • パッケージを最新のものに変更
  • パッケージのURLを修正

などです。

まず PHP5インストールスクリプト をダウンロードして中身を解凍し、php5-install.sh の中の INSTALLDIR などを好きなように設定します。
初期状態でインストールした場合は /home/*****/local/bin/php がPHPバイナリとなります。
php5-install.sh を実行し、問題が無ければPHPが指定した場所へインストールされます。
後はサイト毎のfcgiファイルでexecの部分を「exec /home/*****/local/bin/php-cgi」と指定すればFastCGIでカスタムPHPが動きます。
「php-cgi」が要で、CLI版を指定してしまうとFastCGIが動きません。

このあとPECLなどを使う場合はパスが通っている必要があるので .bash_profile などに「export PATH=$HOME/local/bin:$PATH」などと指定しておきます。

スクリプトが途中で止まる・・・などあったらコメント下さい。

php.iniのコメントを消す

1 Apr 2008 In: 一般

今日はエイプリルフールですね。っていってもこの記事は嘘じゃありませんよ。

今日はphp.iniをいじっていたのですが、その時にコメントを削除すればPHPの読み込みが早くなるかも・・・?というような全く根拠のない思いにとらわれて、コメントを削除する正規表現を作ってみました。そしてできたのがコレ(Perlでやってます)。

perl -p -i -e ’s/;.*\n/\n/;s/^\n//m;' /path/to/php.ini

これでコメントと空行が無くなります。

で、問題の速度は・・・・・・分かりませんw

C#の三項演算子

5 Mar 2008 In: 一般

以前PHPの三項演算子について書きましたが、C#の場合のPHPでいう三項演算子は?:演算子というようです。項を3個取るもの全てを三項演算子として、その中の条件演算子という位置づけらしいです。

とはいっても演算子の使い方は変わらないので、PHPの三項演算子もC#の?:演算子も同じものです。

DreamHost移行メモ part3

1 Mar 2008 In: メモ

今回はPHP5 FastCGI & PHP.ini のための設定です。WikiではCustom PHP.iniPHP FastCGIに分かれていますが一緒にやっちゃいます。もちろん、パネルでFastCGIをオンにしておきます。

最初にPHPのコピーを置くフォルダを作ります。WikiのCustom PHP.ini ではドメインのディレクトリの下に置いてますが、複数サイトで共有しようとおもうのでホームに作ります。

mkdir $HOME/cgi-bin

そして関連ファイルをコピーします。

cp /dh/cgi-system/php5.cgi $HOME/cgi-bin/php5.cgi
cp /etc/php5/cgi/php.ini $HOME/cgi-bin/php.ini

コピーした先のphp.iniを編集します。編集内容はお好みで。そして、ファイルの最後の方にでも「date.timezone="Asia/Tokyo"」の記述を入れます。これでPHPがタイムゾーンを日本と認識してくれます。

ここからFastCGIの設定です。まずはFastCGIのラッパーを作ります。php5-wrapper.fcgiという名前でドメインのディレクトリごとに配置します。Wikiではdispatch.fcgiにするとメモリーを多く使ってもkillされなくなると書いてあります(このWordPessはphp5-wrapper.fcgiでもkillされません。よほどのことがないとkillされない模様。)。中身は以下のようにします。

#!/bin/sh
export PHP_FCGI_CHILDREN=2
exec /home/username/cgi-bin/php5.cgi

usernameは置き換えてください。作成したら実行権を与えます。

chmod u+x php5-wrapper.fcgi

そしてドメインのディレクトリのルートに以下の.htaccessを用意します。

AddHandler fastcgi-script fcg fcgi fpl
AddHandler php5-fastcgi .php
Action php5-fastcgi /php5-wrapper.fcgi

これでPHP5&FastCGIで動くようになります。

最後にPHPのバイナリをアップデートするcronを回します。適当な場所にphp-copy.shとでもして以下のファイルを作成します。

#!/bin/sh
CGIFILE="$HOME/cgi-bin/php5.cgi"
rsync -a /dh/cgi-system/php5.cgi "$CGIFILE"

あとは crontab -e で「@weekly /home/username/php-copy.sh」などとしておきます。

これでPHPに関する設定は完了です。次はWordPressの引越しをメモします。

Ajaxを使用したPHPのチャットスクリプトのLace0.1.6b1を日本語化しました。

インストールの方法などは中のREADME_jaをご覧下さい。


Lace0.1.6b1 日本語化バージョン v1.1
Zipファイル | 96kB

1.1 - ログがないときにエラーが発生するバグを修正しました。

CakePHPを見てみた

25 Jan 2008 In: プログラミング

CakePHPここのところ少し時間ができたので前々気になっていたCakePHPについて調べてみました。CakePHPとは、PHPでできたフレームワークです。

PHPのフレームワークは調べたことがなかったのでイメージがつかめなっかたのですが、CakePHPを通してざっと見てみた感想をまとめてみます。

  • フレームワークを使うと開発のスピードが速い
  • 0から作るよりはセキュリティに気を使う必要がない
  • コードの見直しが楽

フレームワークに馴染んでしまえば0から作るよりメリットが大きいのかな思います。

そしてCakePHPの感想(CakePHP以外に見ていないので他との比較はできませんが)

  • カスタマイズ性が高い(コアファイルにも手を入れられる)
  • 拡張性が高い(後から機能を付け足せる)
  • Javascriptを書かずにAjaxが使える(個人的なことですが)
  • Tipsなどは点在しているが、整理されたドキュメントやサンプルが少ない
  • 入門系の情報は見つけやすいが、つっこんだことをやろうとするとAPIリファレンスを見なければならない(しかたないといえばそうですが・・・)

どの言語にも言えることですが、共通的な処理を自動でやってくれるとかなり楽です。個人的にCakePHPはいざ作ろうとすると、情報不足が目立つような感じがしました。

そして、今度はCakePHPで何か作ってみようということで、サイトニュースを扱うプログラムを製作中です。サンプルが少ないというのを上で挙げましたので、自分でサンプルを作ってみたいと思います(笑)

Page 1 of 212 »

About this blog

Regenが更新するブログです。

WordPressやPHPが主な内容です。

毎日更新はできませんが、できるだけポストしていきます。


8 月 2008
« 7 月 «-»

12
3456789
10111213141516
17181920212223
24252627282930
31

携帯サイト

QR code

WordPress Powered

PHP Powered

MySQL powered

website stats

フィードメーター - Regen Press

Creative Commons License

あわせて読みたいブログパーツ