Archive

Posts Tagged ‘PHP’

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

7月 24th, 2008

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

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

Categories: 一般 Tags: ,

DreamHostにカスタムPHPをインストールする

5月 25th, 2008

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」などと指定しておきます。

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

Categories: 一般 Tags: ,

php.iniのコメントを消す

4月 1st, 2008

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

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

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

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

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

Categories: 一般 Tags:

C#の三項演算子

3月 5th, 2008

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

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

Categories: 一般 Tags: ,

DreamHost移行メモ part3

3月 1st, 2008

今回は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の引越しをメモします。

Categories: メモ Tags: ,

Lace0.1.6b1日本語化バージョン

2月 4th, 2008

Ajaxを使用したPHPのチャットスクリプトのLace0.1.6b1を日本語化しました。
インストールの方法などは中のREADME_jaをご覧下さい。


Lace0.1.6b1 日本語化バージョン 1.1
バージョン1.1

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

Categories: ダウンロード Tags: , ,

CakePHPを見てみた

1月 25th, 2008

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

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

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

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

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

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

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

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

Categories: プログラミング Tags: ,