2007年10月31日水曜日

[PHP] イヤーな はめられ方

とある集計ができていない、という。

とりあえず引き継いだ自分がやらなきゃならんので、調査。
cron で実行してる。

運良く?実行時にログを吐くようにしているのでそれをみる・・。

fopen で ファイルが開けてない。んー。パスがおかしくね?

経緯
・こないだサーバ移行した (したのは別の人)
・構成は全く同じ
・それ以降変更はなし


んー。どうしたもんか。
とりあえず3,4年前のふるーいコードを追っていく。
やっぱりパスの解釈がおかしい??

でも・・・ 変更してないならなぜおこる?


調査結果
移行前は cgi 版を使って実行していたけど、 移行後は cli 版で実行していたため。
$_SERVER['DOCUMENT_ROOT']があるとき、
空であることは考えてなかった模様。。。

cronで実行させるんなら、 フツー cli だから合ってるんじゃね?とも思うけど、旧環境はcgi 版。自分の常識は通用しない。

cronで実行してるスクリプトの一部分だけもってきて、
似たような感じにしてテスト。

こんなかんじ。

--

if (isset($_SERVER['DOCUMENT_ROOT'])) {
$hoge = sprintf("%s/../hoge/fuga", $_SERVER['DOCUMENT_ROOT']);
} else {
$hoge = sprintf("%s/../hoge/fuga", $_SERVER['PWD']);
}

print "$hoge\n";
--


cli, cgi 版それぞれでチェック

cli
% cat /tmp/test.php|php -q
/../hoge/fuga

cgi
% cat /tmp/test.php|php-cgi -q
/home/katsuji/../hoge/fuga

正解。
cli版だと期待したパスになってない。
そらそーだ、$_SERVER['DOCUMENT_ROOT'] が空だから。

こんなかんじ。

% php -i |grep -i document
$_SERVER["DOCUMENT_ROOT"] =>
% php-cgi -i |grep -i document


・if (isset($_SERVER['DOCUMENT_ROOT'])) が悪
か、
・移行するときにちゃんと前の環境とそろえとけ
と。。。

if (isset($_SERVER['DOCUMENT_ROOT']) && $_SERVER['DOCUMENT_ROOT'] != NULL)
のような具合なら cli 版でもよかったね ( -_-)

2007年10月30日火曜日

Leopard で 「おおっ」と思ったり思わなかったり

あまり予備知識がないまま
ちょっと使ってみたところ、以下。

・メニューバーが渋く
・オーロラの画像
・Finder 改良
・クイックルック
・Spaces が小気味良い
・Terminal タブ化、ちょっと嬉しい。 あと、テーマがいくつか選べる。
・ssh がキーチェインに統合 ?された
こんな感じ


・Safaril 3.0.4
・プルダウンメニューのフチが丸くなった気がする

Time Machine は外部ストレージもってないのでしばらく出番はないかな・・・。
カーネルはバージョン 9.0.0 らしい
Darwin Kernel Version 9.0.0: Tue Oct 9 21:35:55 PDT 2007; root:xnu-1228~1/RELEASE_I386

10/9 なんだね

/mach_kernel は 10/10
-rw-r--r--@ 1 root wheel 9.8M 10 10 13:38 /mach_kernel

2007年10月28日日曜日

ThinkPad がクラッシュしまくる

X32 がクラッシュしまりんぐ。

再現方法は以下だった。今は直ったので再現しない。

・リモートデスクトップで X32 につなぐ
・リモートデスクトップ切る
・X32 に直接ログオンする

ログオン後、なにも操作ができずに BSOD

wdf01000.sys でぐぐる

こんなのがみつかる
---
WindowsXP質問スレ 178ページ目
wdf01000.sys のブルースクリーンエラーが出現します。 ("ハード ディスクの保護" をオフにしない限り、現象は続きます) でないようにすることは可能でしょうか? OS:WindowsXP SP2 機種:色んなPCで試したが同現象 HDD: 2.5inch HDD を2種類で試した ...
pc11.2ch.net/test/read.cgi/win/1191985360/338-438 - 39k - キャッシュ - 関連ページ

---
ThinkPad X series Part59
wdf01000.sys - Address F6907C80 base at F68E8000, Datestamp 444738f2 個別環境の問題ということで、 ATOK, firefox, thunderbird, e-mobileくらいかな。 あとはアクティブプロテクションとか、クライアントセキュリティとか。 ...
pc11.2ch.net/test/read.cgi/notepc/1192934541/363-384 - 17k - キャッシュ - 関連ページ
---

見つかった先に書かれているものをよく読む。
どうもトラックポイントのドライバが腐っているとかなんとか。

つい最近 windows update でドライバ更新したから、そのせいか ?

自分の使っているのは X32 、でドライバのバージョンも違ってたんだけど
怪しいところから突くってことで、まず ThinkPad ソフトウェア導入支援で古いの(?)を入れる。
そのあといっぺん windows update してみた。このへんよくわからん。なんとなくでポチポチっと。

その後直ったように見える。暫く様子見。

・・・・直っていなかった orz...


あれこれするのも面倒なので、
必要なデータを待避後、工場出荷時に戻して再セットアップした。
これで直ったはずだ。。


やれやれ・・・

2007年10月27日土曜日

VPSなサーバに

某国内のサーバを借りているけど、やめることにした。
今度使うのはvpslink.

・おうちに置かずに
・ssh ではいれて
・root つかえる

ということであればどこでもよい。
同等のスペックで選択。
アドレス3つついてきた。そして費用は安くなった。
VPSなサーバで、OpenVZ か Xen か選択。 -> Xen にして Ubuntu 7.10 を入れた。

ssh で入った感じ、思ったより「遠い」感じがしなくてよかった。

とっとと国内のは片付けてしまおう。

おまけ
大分前つかってたところ
linode
今回つかうとこ
vpslink
候補にあがったところ
provps

2007年10月21日日曜日

ポリフォニー・デジタル

「『グランツーリスモ』年収別スタッフ募集。最大1000万円」

というのがあったのでみてみたら、「ネットワークエンジニア」もあり。
オフィスが「オフィス」じゃないらしく、「スタジオ」と呼ぶらしい。
いい拘りだと思う。

まぁそれはさておき、つい DNSサーバを調べてしまう。
やや中毒気味になってきた。

===> domain: polyphony.co.jp
---> ns01.pwd.ne.jp: x
---> ns3.polyphony.co.jp: o
---> ns.polyphony.co.jp: o
<===

polyphony.co.jp な ネームサーバは o

2007年10月20日土曜日

Mac OS X と Ruby と Python などなど

MacOS X v10.5 Leopardて、

アップル - Mac OS X Leopard - テクノロジー - UNIX
---
Ruby 1.8.6とPython 2.5は、Cocoaブリッジ、 Xcode とInterface Builderのサポート、DTraceモニタリング、Frameworkビルド、さらに 新しいScripting Bridgeを使ったAppleEvent バインディングにより、Mac開発のためのファーストクラス言語になっています。Rails、Mongrel、Capistranoが同梱されたLeopardは、Ruby on Rails開発に理想的なプラットフォームでもあります。
--

Rails, Mongrel, Capistrano もコミコミなんだね。

UNIX認定がどうウマーなのかよくわからないけど、ほにゃらら準拠、ていうのは悪くはない出来事なんだろうな。

前のバージョンだとBSDのことが少し書いてあったりデーモンくんの画像があったけど、無くなったのかな。無くした?

セキュリティには
--
CERT/CC、FIRST、FreeBSDセキュリティチームをはじめとする数多くのセキュリティ機関のほか、米国国土安全保障省とも協力しています。
--
とは書いてあるなぁ

キャッシュNS, コンテンツNS -- 結論

こうして
何度か
DNSを
チェックしてみたんだけども

・ITが本業な企業はコンテンツNSだけ機能させている (のが多い)
もちろん必ずしもそうではない。

・ITが本業でない企業はキャッシュNSも機能させている (のが多い)
これは、以下のように勝手に推察する。
「え?DNS? 使えてるからいいよね」
「別のアドレスを使うようにして機能を分ける?なんじゃそれ?」
「別のアドレス?アドレス追加するの、予算おりないんだよね」
「それか、制限をかける?いやそんな設定ワカラン」
というのがあるんじゃないかなと。