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なサーバで、OpenVZXen か選択。 -> 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? 使えてるからいいよね」
「別のアドレスを使うようにして機能を分ける?なんじゃそれ?」
「別のアドレス?アドレス追加するの、予算おりないんだよね」
「それか、制限をかける?いやそんな設定ワカラン」
というのがあるんじゃないかなと。