phpがモジュールモードで動いているか?cgiモードで動いているか?を知る方法 – purazumakoiの[はてな]
phpinfoを表示して
4行目あたり
CGIモード
Server API : CGI
モジュールモード
Server API : Apache
とか
Server API : Apache 2.0 Handler
なるほどメモ。
いつか使うときがきそう。
phpがモジュールモードで動いているか?cgiモードで動いているか?を知る方法 – purazumakoiの[はてな]
phpinfoを表示して
4行目あたり
CGIモード
Server API : CGI
モジュールモード
Server API : Apache
とか
Server API : Apache 2.0 Handler
なるほどメモ。
いつか使うときがきそう。
PHPを使って3分で作る3キャリア対応ケータイサイト | ke-tai.org
これは便利&面白い。
rewriteしてProxyのようにPHPをかまして、3キャリアのケータイサイトに対応させてます。
アイデアがいいなあ。
ぜひ活用させていただこうっ!
Zend FrameworkでのZend_Db_Table_Row_Abstract型、シリアライズ(serialize,unserialize)するとテーブルのmetaデータを無くしてしまいます。
マニュアルを見ると
復元した行は、なぜ切断された状態なのですか?
シリアライズしたオブジェクトは、可読形式の文字列となります。 データベースのアカウントやパスワードといった情報を 暗号化せずにプレーンテキストにシリアライズして保存すると、 セキュリティ上問題となります。 そのようなデータを無防備な状態でテキストファイルに保存したりしたくはないでしょう。 またメールなどで攻撃者に覗き見られることも好まないはずです。 シリアライズされたオブジェクトは、 正しい認証情報を知らない限りデータベースにアクセスすることはできません。
と書いてあります。ごもっとも。テーブルデータを取り戻すには、
[php]
$rowClone = unserialize($serializedRow);
$bugs = new Bugs();
// この行をテーブルに再接続し、
// データベースとの接続を復活させます
$rowClone->setTable($bugs);
// これで、行の内容を変更して保存することができます
$rowClone->bug_status = ‘FIXED’;
$rowClone->save();
[/php]
と、setTableで再接続させます。
rowsetごとキャッシュしてる場合は、
[php]
$rowset->setTable(new Bugs());
[/php]
と、rowsetにテーブルのインスタンスを渡してやれば、再接続します。
英語ではReactivating a Row as Live Dataなどと書かれていますね。
行データをキャッシュから戻した場合は、リアクティベイティング(←言いにくい)をお忘れ無く!
任意のPHPコードをWordPressのウィジェットに変換してくれる『Widgetifyr』 – 100SHIKI ~ 世界のアイデアを日替わりで
これは一度使ってみたい。便利そうな雰囲気はバリバリする。
Google Analyticsから訪問数・PV数をPHPでゲットするサンプルコード:phpspot開発日誌
これはちょっと便利かも。結果をメールで飛ばしたりすれば無理なく管理できる。
使うにはcURLライブラリがいるので注意でっす。
たまたま使ってたubuntuに入ってなかったので
# apt-get install php5-curl
して入れました。
さくらレンタルサーバはmod_deflateモジュールが入ってないので、PHP側でgzipしてうんぬん~というのをやっていたんだけど、これでよかったのだった。
gzip でコンテンツを圧縮することにより、ネットワークの負荷を
軽減させることができ、レスポンススピードの向上が期待できます。しかしながら、mod_deflateが利用できない場合もあります。phpの拡張 zlib を利用することでコンテンツの圧縮をすることが可能になります。
ob_startとgzhandlerを使うのと異なり、ソースコードの変更は必要ありません。さくらなどのレンタルサーバを借りている場合に有効な手段になります。
PHPの設定ファイル php.iniに下記設定を追加します。
/usr/local/etc/php/your-php.inizlib.output_compression=1
さくらのレンタルサーバの場合、$HOME/www/php.ini に書きます。
うーむ。簡単。
今だとさくらコンパネからphp.iniを修正できるので、そちらで書いても良いですね。
オデの日記@WEB系: Zend_Db_Table_AbstractでZend_Cacheを利用して負荷軽減
で、このZend_Db_Tableですが、生成する度にdiscribetable()というメソッドが呼ばれテーブル情報を取得します。とても便利なのですが、都度DB接続が行われ非効率すぎるのでZend_Cacheを利用してデータをキャッシュさせておきます。
discribeTable()が走るタイミングは
・insert()
・find()
・info()
を呼んだ時だそうです。
というわけでキャッシュを組み込みましょう。
[php]
$frontendOptions = array(
‘automatic_serialization’ => true
);
$backendOptions = array(
‘cache_dir’ => TMP_PATH
);
$cache = Zend_Cache::factory(
‘Core’,
‘File’,
$frontendOptions,
$backendOptions
);
Zend_Db_Table_Abstract::setDefaultMetadataCache($cache);
[/php]
最近のコメント