Top >

カテゴリー:PHP

2012年2月 2日(木)

phpのセッションのガーベッジコレクションとかあれこれ

php で利用するセッション情報を MySQL に保存する方式に変更しようとしていたら、結構いろいろな設定があることに気が付いたので備忘録的な意味も込めてメモ。

今回のネタはだいたい以下の3つ。

// セッションで利用するクッキーの有効期間を1日に
ini_set("session.cookie_lifetime", 86400);

// 1日以上たったセッション情報を消去
ini_set("session.gc_maxlifetime", 86400);

// ガーベッジコレクションを毎回発生させる
ini_set('session.gc_probability', 100);


続きを読む »

2012年1月27日(金)

include/requireを使った時のパスの扱い - PHP

PHP で include や require を使う時、パスの扱い方が良く分からなくなること無いですか?

一応マニュアルに書かれている事が全てなんですが、毎回分からなくなるので備忘録も兼ねて一回まとめてみたいと思います。

続きを読む »

2011年9月 8日(木)

携帯サイト向けのGoogle Analyticsでページタイトルも取得する

CakePHP で携帯サイト向けの Google Analytics を利用する」の続きです。

前回は、CakePHP で構築した携帯サイトに Google Analytics を設置するまでを書きました。

が、Google の指示通り設置した場合、解析結果にページタイトルの情報が含まれないことが分かりました。

具体的にはページタイトルの部分がすべて「(not set)」となってしまう感じです。

開発者なら URL からページの内容がわかるかも知れませんが、普通に考えたら URL だけを見ても何のページか分からないわけで、これだと非常に分かり難い解析結果になってしまいます。

なので、コードを修正して対応してみました。

続きを読む »

2011年9月 2日(金)

CakePHPで携帯サイト向けのGoogle Analyticsを利用する

携帯サイトのアクセス解析と言うと国産の「うごくひと2」辺りが秀逸だったりするんですが、Google Analytics でも携帯サイトの解析が出来るようなので試してみました。

が、そもそも Google が提供している PHP のコードが微妙だったり、埋め込み先が CakePHP だったりで結構苦戦したので、そのあたりの注意点なんかを書いていこうと思います。

基本的には Analytics の管理画面でコードを取得してそれをページに埋め込むと言う手順で、殆ど PCサイトの場合と同じなのですが、携帯サイトの場合には ga.php と言うライブラリを別途ダウンロードしてサーバーに置く必要があります。

まぁ、でも基本的には Google の言うとおりにやれば良いはずだろうと言う感じで作業開始。

続きを読む »

2011年8月 2日(火)

PHPで一月前の日付を取得する

PHP でひと月前の日付を取得するという場合、一番簡単な方法は strtotime() を使う方法だと思います。

date("Y-m-d",strtotime("-1 month"));

この場合、現時点(2011年8月2日)で実行すると「2011-07-02」が戻ってきますが、月末、たとえば 31日などに実行した場合には期待通りの日付を得ることが出来ません。

たとえば、以下のスクリプトは 7月 31日に実行した場合の状況を作り出してるのですが、結果は「2011-07-01」となります。

date("Y-m-d",strtotime("-1 month", strtotime("2011-7-31")));

「6月は31日がないから7月1日」って感じなんでしょうね。

個人的には
「6月は31日がないから6月30日」
の方が感覚的に近いのですが、この辺りは人によって違うと思うので何とも言えません。

ただ、こういう感じで動作するので PHP で「ひと月前」的な感じで日付を取得する場合には注意する必要があります。

続きを読む »

PHPの実行結果をCLIでテストする

PHP で開発していると、関数の使い方を確認したり、エラーが発生した箇所を切り出してテストしたい事があります。

こういうとき、一般的には、以下のような流れでテストすると思います。

  1. test.php などテスト用のファイルを別に作る。
  2. テストしたい内容を記述する。
  3. テスト用のファイルをアップロード
  4. テスト用の URL をブラウザで表示

この手順を期待通りの結果が求められるまで繰り返す感じです。

まぁ、仕方がないと言えば仕方がないですし、これが一番確実な方法なのですが、単に関数の使い方の確認とかをしたい場合にはちょっと面倒です。

で、そんな時、意外に php の CLI が便利だった事に今更気がつきました。

続きを読む »

2011年2月15日(火)

ImageMagick vs GD - PHPでサムネイルを作る

画像のアップローダーを作っていて、その一環で UP された画像から携帯サイト向けのサムネイルと言うか、小さな画像を作る仕組みを考えました。

で、PHP だと GD と言う標準の画像処理ライブラリがあるので、最初はそれを使って処理しようと思ったんですが、いまいち画像が粗い。。。
クオリティーを上げる事も出来ますが、そうすると結局ファイルサイズが大きくなってしまう。

色々見てみると ImageMagick を使った方が画像的には綺麗な物が出来上がるようでしたので、GD と比べてどうなのか色々と試してみました。

結論から言うと、ImageMagick の方が綺麗に仕上がりますし、簡単に使えます
そして、PHP から使うなら PHP のモジュールを使うより、shell_exec() を使って convert コマンドを直接読んだ方が圧倒的に楽でした。

続きを読む »

2006年4月 8日(土)

header関数でページの指定した場所にリダイレクト出来ない

PHP でフォームデータの処理をした後にどこかのページにリダイレクトしたい場合なんかは、

header("Location: http://www.grimonet.com/")

などのように、header関数を使います。

で、リダイレクト先のページの中で特定の場所を表示したいのであれば、通常の aタグと同じように

header("Location: http://www.grimonet.com/index.php#grimo")

のような感じで指定します。

が・・・
IE の場合、本当に限られたケースだと思いますが、正しく動作しない事があるようです。

続きを読む »

2006年1月20日(金)

Zend Optimizer 2.6.2 がリリースされました!

PHP 5.1.x 対応の Zend Optimizer 2.6.2 がリリースされました。

Zend Optimizer は無償で利用できますが、MyZend への登録をしないとダウンロードできません。
が、この MyZend が曲者で、なかなかうまくログインできないんです・・・

ここからはアクセスできません。

とかなってしまう。

続きを読む »

2006年1月15日(日)

PHP 5.1.2 の PEAR もダメ・・・

PHP 5.1.1 の場合と同様に PHP 5.1.2 付属の go-pear.bat を使った場合も DB パッケージ はインストールされないみたい。

ポリシーが代わったんでしょうか??

以前の go-pear.bat では DB, Net_Socket, Net_SMTP,Mail, XML_Parser, PHPUnit が自動でインストールされていたんですが、現在はインストールされないようです。
go-pear.bat のリンク先が go-pear.php から go-pear.phar に変わったのとなんか関係があるのかなぁ??

続きを読む »

2006年1月13日(金)

PHP 5.1.2 リリース!!

PHP 5.1.2 がリリースされました。
重要なセキュリティーフィックスが含まれているらしく、アップデートが推奨されています。

今回は大丈夫かなぁ? PEAR ・・・

続きを読む »

2005年11月30日(水)

PHP 5.1.1 の PEAR

Windows 版の PHP には PEAR が入ってないので、go-pear.bat を叩いて別途インストールする必要があるんですが、PHP 5.1.1 にして go-pear.bat を実行しても幾つかのパッケージがインストールされませんでした。

しかも、実行中に

WARNING: channel "pear.php.net" has updated its protocols, use "channel-update pear.php.net" to update

とか警告が出てるし・・・

何度かやり直したんですが、うまくいかないのでマニュアルを見てたら、どうやら「パッケージマネージャ」なるものがあるらしい・・・
Perl の PPM みたいなものかな?

続きを読む »

2005年11月29日(火)

PHP を 5.1.1 に・・・

昨日 PHP を 5.1.0 にアップデートしたばかりなのに、今日になったら 5.1.1 がリリースされてました・・・

なにやら 5.1.0 には色々と問題があったようで、5.1.1 のリリースが早まったようです。

yohgaki's blog - PHP 5.1.1がリリースされました

結局 short_open_tag は Off のままみたいです。
(php.ini-recommended では)

何か意味あんのかなぁ??
よく分りませんが・・・

2005年11月28日(月)

PHP をアップデート

PHP 5.1.0 が出ていたので アップデートしてみました。
先日出ていた問題は解決したんでしょうかねぇ・・・

よく分りませんが、最新版を使うというポリシー?なので、サクッとアップデート。

? 動きません。

<? phpinfo(); ?>

エラーも出ません。
ソースを表示したら、そのまま PHP のコードが見えてます!!
ヤバ・・・とか思ってたら、今回のバージョンから何故か php.ini-recommended の方は、

short_open_tag = Off

になってました。(php.ini-dist は On のまま。)

なんか意味があるんでしょうか??
まぁ、

short_open_tag = On

で解決しますが、気になります。

やっぱり diff とる時には自分が修正した箇所だけでなくて、推奨設定自体の変更も追わないとダメだって事ですね・・・

2005年4月 7日(木)

PHPにセキュリティ・ホール

ちょっと古いけど、
PHPにDoS攻撃を受ける複数のセキュリティ・ホール
だそうです。

PHP 4.2.x/4.3.x/5.0.x に影響があるそうで、セキュリティ・ホールを修正した最新版(4.3.11/5.0.4)が出ているので、該当するバージョンを使っている人は更新が必要だそうです。

関連ページなど

アーカイブ

フィードを取得

 RSSリーダーで購読する

お使いのリーダーに追加してください!!
最新の情報をお届けします!!

フィードメーター - INOLOG Ver.2

最近のコメント