Home > 言語

言語 Archive

yum json インストール

CentOSのPHPにJSONを組み込む方法のメモです。

# yum install php-devel php-pear libtool gcc-c++

引き続き pecl で json インストール
# pecl install json

設定追加
# vi /etc/php.d/json.ini
extension=json.so

httpd再起動
# /etc/init.d/httpd reload

Google Analyticsで携帯を解析

  • 2009-12-22 (火)
  • PHP

Google Analyticsで携帯でのアクセスを解析できるようになったので記録しておきます。日本での携帯端末のほとんどがJavaScritpが動作しないため、JavaScriptで読み込むパラメータをPHPやPerlで取得し、Google側に教えるというのが本筋です。現在、Google Analyticsの管理ページからでもmobile phoneの設定の仕方の記載があり、そのとおりに実装すれば完了です。管理ページにアクセスできなくても、現在、Web版の解析を行っている人は次の方法(PHP版)で完成です。

※PHP5でないと出来ません
1)ga.phpを携帯版のルートディレクトリに入れる

2)携帯用ページに次のコードを挿入

<?php
// Copyright 2009 Google Inc. All Rights Reserved.
$GA_ACCOUNT = "MO-XXXXXXX-XX“;
$GA_PIXEL = “ga.php”;
function googleAnalyticsGetImageUrl() {
global $GA_ACCOUNT, $GA_PIXEL;
$url = “”;
$url .= $GA_PIXEL . “?”;
$url .= “utmac=” . $GA_ACCOUNT;
$url .= “&utmn=” . rand(0, 0×7fffffff);
$referer = $_SERVER[”HTTP_REFERER”];
$query = $_SERVER[”QUERY_STRING”];
$path = $_SERVER[”REQUEST_URI”];
if (empty($referer)) {
$referer = “-”;
}
$url .= “&utmr=” . urlencode($referer);
if (!empty($path)) {
$url .= “&utmp=” . urlencode($path);
}
$url .= “&guid=ON”;
return str_replace(”&”, “&”, $url);
}
?>

bodyタグの直前に次のコードを入れる。

<?php
$googleAnalyticsImageUrl = googleAnalyticsGetImageUrl();
?>
<img src="<?= $googleAnalyticsImageUrl ?>" />

Perlでメールアドレスを抽出

  • 2008-04-21 (月)
  • Perl

携帯端末のメールアドレスは個人が自由に設定できます。ピリオドを2つ続けたり、@の直前がピリオドで終わっているアドレスはRFCに準拠していません。していないと言っても、ドコモのアドレスは設定できてしまうので、メールアドレスを抽出する場合、次の正規表現でメールアドレスを抽出します。


#!/usr/bin/perl
my $myaddr = '<omakase blog> omakase@xxx.co.jp';
my $esc = '\\\\';
my $Period = '\.';
my $space = '\040';
my $OpenBR = '\[';
my $CloseBR = '\]';
my $NonASCII = '\x80-\xff';
my $ctrl = '\000-\037';
my $CRlist = '\n\015';
my $qtext = qq/[^$esc$NonASCII$CRlist\"]/;
my $dtext = qq/[^$esc$NonASCII$CRlist$OpenBR$CloseBR]/;
my $quoted_pair = qq<${esc}[^$NonASCII]>;
my $atom_char = qq/[^($space)<>\@,;:\".$esc$OpenBR$CloseBR$ctrl$NonASCII]/;
my $atom = qq<$atom_char+(?!$atom_char)>;
my $quoted_str = qq<\"$qtext*(?:$quoted_pair$qtext*)*\">;
my $word = qq<(?:$atom|$quoted_str)>;
my $domain_ref = $atom;
my $domain_lit = qq<$OpenBR(?:$dtext|$quoted_pair)*$CloseBR>;
my $sub_domain = qq<(?:$domain_ref|$domain_lit)>;
my $domain = qq<$sub_domain(?:$Period$sub_domain)+>;
my $local_part = qq<$word(?:$Period+$word)*(?:$Period+)?>;
my $addr_spec = qq<$local_part\@$domain>;
my $mail_regex = $addr_spec;
if($myaddr =~ m/($mail_regex)/o){
print $1."\n";
}
exit;

phpMyAdminでテーブルが使用中!?

  • 2008-04-02 (水)
  • PHP

WordPressというブログツールでエラーが表示されていたので、データベーステーブルを phpMyAdmin を使って確認しました。すると、「使用中」 というフラグが立っていて、中身を見ることも構造を確認することもできません。削除して作り直すしかないのか?と思いましたが、ちゃんと「修復」という操作で直りました。

RDBの知識が無くてもデータベースの操作が簡単に行えるのが phpMyAdmin のいいところです。RDBの知識が無く、phpMyAdmin も使いこなせない人はIT(特にWeb関連に携わる)技術者にはいないはずですね。

ともあれ、修復や最適化というコマンドは、どんなRDBにも用意されています。
と言うことは・・・。

「何らかの要因でテーブルに不具合が生じたりバッファオーバーフローが起こることがあるということです。だから開発者側が修復コマンドを用意しているのです。「複数人が同時に使うのだから当然なんだよ」と、素人さんにも分からせてあげるのが玄人さん!なのですから、管理側が焦ってはいけませんね。

eaccelerator-0.9.5 インストールログ

  • 2008-03-08 (土)
  • PHP

eacceleratorをサーバにインストールすることで、PHPを高速化することができます。eacceleratorは、スクリプトを解析した結果を中間コードの状態で共有メモリ上にキャッシュします。よって、2回目以降の実行は構文解析を行わずに、キャッシュされた中間コードをダイレクトに読み込むことで処理を高速化させています。

付属の説明によると最大 10倍!の速度になるそうです。eacceleratorをインストールするには、apache1.3以上、mod_php4.1以上、autoconf、automake、libtool、m4が必要ですが、大抵の環境では条件を満たしていると思います。

eaccelerator-0.9.5 をダウンロード

Continue reading

Home > 言語

おまかせSearch
おまかせブログ 人気記事
おまかせFeeds
おまかせブログ Meta
おまかせLinks
おまかせPR
CoRichブログランキング
ブログランキング
blogram投票ボタン

Page Top