Archive

Posts Tagged ‘php’

php-cgiをFastCGIで動かす

8月 22nd, 2009

先日からPHPをCGIとして動かしていますが、せっかくなのでFastCGIの設定までやることにしました
FastCGIとは、CGIのプロセスをメモリ上に残しておくことで起動の遅いCGIプロセスを高速に実行出来るようにするCGIの動作仕様の1つです
FastCGI - Wikipedia

今回は解説サイトに従って簡単に設定出来ました
参考にしたのはこちら
Apache/FastCGI - Linux Tips
なんとなくfastcgiよりfcgidのほうが良さそうだったのでfcgidを入れました

必要なかった手順もあるので簡単にまとめておきます
Debian lennyの場合

BASH:
  1. # aptitude install libapache2-mod-fcgid
  2. # a2enmod fcgid
  3. # vim /etc/apache2/sites-available/your-profile
  4. -------------------------------------------------------------
  5. PHPを使用するVirtualHostの設定ごとに以下を追記
  6. <IfModule mod_fcgid.c>
  7.     AddHandler fcgid-script .php
  8.     <Directory "/path-to-your-php-script-dir">
  9.         FCGIWrapper /usr/bin/php-cgi .php
  10.  
  11.         Options +ExecCGI
  12.         AllowOverride All
  13.         Order allow,deny
  14.         Allow from all
  15.     </Directory>
  16. </IfModule>
  17. -------------------------------------------------------------
  18. # /etc/init.d/apache2 restart

ps ax | grep php-cgi
としてプロセスが存在すれば多分有効になっているんじゃなかろうか
#fcgid入れる前に試してないので良くわからない;

,

PHPをCGIモードで動かす

8月 22nd, 2009

何でこんなことになったのか…

ふとML115のApache2を見ると、それはpreforkだった
preforkはシングルスレッドで動作するモードだ
マルチスレッドの方がパフォーマンスいいんだからそっちを入れよう!
マルチスレッドに対応しているのはworkerなのだが、これにmod-phpが対応していないらしく、
workerを入れたらpreforkと一緒にmod-phpが消されてPHPが動かなくなった
かくして、仕方なくphp-cgiの設定をする羽目になったのである
ネットを彷徨っても断片的な設定しかなく、本当に辛かった
とりあえず自分が設定した内容をまとめておく

更新中は500エラーを返すなど、酷いことになっていたかと思います
申し訳ございませんでした

Debian lennyの場合

BASH:
  1. # aptitude install php5-cgi apache2-mpm-worker
  2. # a2enmod cgid
  3. # a2enmod actions
  4. # vim /etc/apache2/conf.d/php-cgi.conf
  5. --------------------------------------------------------
  6. 下記内容で保存
  7. <IfModule modactions.c>
  8.   Action application/x-httpd-php /cgi-bin/php5
  9. </IfModule>
  10. --------------------------------------------------------
  11.  
  12. ここまでの作業は
  13. # gunzip /usr/share/doc/php5-cgi/README.Debian.gz
  14. # less /usr/share/doc/php5-cgi/README.Debian
  15. の内容を参照されたし
  16.  
  17. # vim /etc/apache2/sites-available/your-profile
  18. --------------------------------------------------------
  19. <VirtualHost *80>
  20. ~省略~
  21. ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  22. <Directory "/usr/lib/cgi-bin">
  23.   AllowOverride None
  24.   Options ExecCGI -MultiViews +FollowSymLinks
  25.   Order allow,deny
  26.   Allow from all
  27. </Directory>
  28. </VirtualHost>
  29. --------------------------------------------------------
  30. # /etc/init.d/apache2 restart

疲れた

,

APC導入

1月 13th, 2009

PHP(というかWordPress)高速化のためにAPC(Alternatice PHP Cache)入れた - IDEA*IDEA ~ 百式管理人のライフハックブログ ~

こちらに倣ってAPCを入れました
その作業ログ

1.php5-dev,php-pearを入れる
2.pecl install apc
3.php.iniにextension=apc.soを追記

でphpinfo()で確認すれば完了です

apc_installed

apc_installed

AuthComponentでパスワードのバリデーション

12月 1st, 2008

現在公開されているCakePHP1.2RC3では標準でユーザー認証を行うためのコンポーネントが付属しています
ログインの処理が空のloginメソッドを用意するだけで良いなど、かなり楽になりそうだったので使ってみることにしました
その際に詰まった点としてパスワードのバリデーションが挙げられます
デフォルト設定のAuthComponentではどうやらモデルにデータが渡った時点でパスワードがハッシュ化されているらしく、
betweenやalphaNumericなどのバリデーションを通過出来ません;

そこでコミュニティで紹介されていた記事を参考にしたところ上手く行ったのでうちでも紹介させて頂きます
コミュニティの紹介記事がこちら
"AuthComponentの注意点" フォーラム - CakePHP Users in Japan
実際の記事がこちら
Introduction to CakePHP features (build an app in less than 15 minutes) « nuts and bolts of cakephp

非常に参考になり、バリデーションも上手く行きました!

,

OpenMicroBlogger

8月 29th, 2008

Open Source PHP | OpenMicroBlogger

オープンソースで開発されているマイクロブログ
マイクロと言ってもtwitterほどシンプルではなく、タグ付けやファイルのアップロードといった機能もあり、どちらかと言うと普通のblogっぽいです
インストールしていないので日本語が通るか分かりませんが、中々シンプルで使い易そうです
twitterのfollowみたいな機能があるのか気になりますね
#subscribeという機能がそれっぽいですね、タイムライン状に表示されるのかは分かりませんが

,