双子パパが日々技術的に問題になった事、その解決方法について書いていきます。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

HDD増設後のboot.ini

HDDの調子がおかしくなってきたので、手遅れになるまえに1台を増設してみた。

新しい方法を一番上、古いほうを二番目に入れて起動したところ、新しい方が(E)ドライブ、古い方が(C)ドライブになっている。この辺の基準はよく分からない。

 

問題は、新しい方のみが起動する設定になっていることで、デュアルブートにするために、マイコンピュータを右クリック、詳細設定、起動と回復の設定から「編集」ボタンを押すとboot.iniの編集が可能になる。

 

今回書かれている記述は(OS選択部分のみ)、

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition(E)" /noexecute=optin /fastdetect

 

となっていて、Cを追加するには数字を変えればいいだろうということで、

 

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Home Edition(C)" /noexecute=optin /fastdetect

 

とし、再起動して選択したところ、ブートレコーダがないとか謎のエラーが出る。XPのCD-ROMから回復コンソールを起動し、ブートレコーダを修復(FIXMBRコマンド)して再起動してもダメ。

 

そこで、boot.iniの数字の意味を調べていたところ、

 

multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Home Edition(C)" /noexecute=optin /fastdetect

 

とrdiskの数字を変えればいいことが判明。これで無事起動!

 

 

 

 

スポンサーサイト

MySQLの便利コマンド

大量データの一部を取得した場合に、全件の件数も欲しいことがあります。

 

OracleやPostgreSQLだと、

selct count(*) from ...

select * from ... limit 10

という感じでページングをしているんですが、

 

MySQLにはSQL_CALC_FOUND_ROWSという便利なコマンドがありました。

 

上の例だと

select SQL_CALC_FOUND_ROWS * from ... limit 10

を実行した後に、

select FOUND_ROWS()

で、limitを付けなかった場合の件数を取得してくれます。

 

ちょっとした違いですが、こういう便利な機能を見つけるとうれしくなりますね。

Windowsサーバ + IIS6 + PHP

Windows 2003 Server(64bit)に、IIS 6.0(64bit)にPHPを入れた時のはまり記録です。

 

まず、

PHPダウンロードどれを選べばいいのか分からず固まる。

5.2/5.3 VC9/VC6 zip/Installer Thread Safe/Non Thread Safe

どれだけ組み合わせがあるんだ。それなのに64bitはない不思議。

 

いろいろ調べて、IISではVC6+Non Thread Safeらしいということで5.3/VC6/Installer/Non Thread Safeを選択。ところが、InstallしてIISから設定(ホームディレクトリの構成からphp-cgi.exeを選択)したところ、全く動かず。

 

どうやら、php5isapi.dllというファイルが必要らしい。5.3にはないので5.2.1.4をダウンロード、ここにもない。5.2.1.4の4を3に変えてダウンロードするとようやく発見!

 

そしてまたIISの設定。今度はphp5isapi.dllを選択して、<? phpinfo(); ?>と書いたスクリプトを実行すると、Server Unavailableみたいなエラー。

 

詳細のメッセージを出すために、IEのインターネットオプションの「詳細設定」タブにあるブラウズ-「HTTPエラーメッセージを簡易表示する」のチェックを外す。

 

そして再実行すると、「%1は有効なwin32アプリケーションではありません。というエラー。」

 

今度は英語のページを調べてみると(日本語に答えがない場合は英語で探します)、最新のPHPには64bitがないので、IISも32bitで動かす必要があるとの事。

 

以下のおまじないコマンドを実行

cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

 

Webサービス拡張プロパティでphp許可(php5isapi.dll)、Active Server Pages許可、Webサイトのプロパティ→ホームディレクトリタブ→構成:マッピングの設定から、拡張子phpにphp5isapi.dllでGET,POST,HEAD,TRACEを設定してやっと動きました。

 

長い一日でした。

Windows VPSでの発見

発見その1)

使えるネットのVPS(Windows)を使っていて、たまに重いと感じることがあります。
一番安いプランはメモリが上限512MBなので、仮想メモリで調整しようと思ったところ、いくら設定を変えても反映されません。
調べてみたところ、VPSは仮想メモリの変更ができない(設定は使わない)という事。
(もしかして業者によって違うかもしれません)

512MBでも頑張ればギリギリ使えるかと思っていましたが、本格的に使うとなるともう少し高いプランの方が良さそうです(値段の上げ幅が大きいので悩みどころです)。

発見その2)

VPSはroot権限があるとはいえ、共有している訳だから「再起動」したらまずいに違いないと思っていました。
たまたま、デスクトップと勘違いして「再起動」を選んだ所、何の問題もなく(文句も言われず)、再起動できました。再起動するとサクサクになっていい感じです。
実質共有しているはずなのに、どういう仕組みになっているんだろう??

javascriptのonClickにあるreturn

javascriptでたまにonClick="method;return false;"のような記述を見ることがあります。これは何でしょう?

hrefと同じタグの中にあった場合は、onClickを実行した後、hrefに遷移するかどうかの条件を返しています。

例えば、
<a href="aaaa">..</a> は、無条件にaaaaに遷移します。
<a href="aaaa" onClick="ccc">..</a>は、cccを実行した後、aaaaに遷移します。
<a href="aaaa" onClick="ccc;return false;">..</a>は、cccを実行して終わりです。
(化け防止のため一部全角文字を使用しています)

順番は、onClick実行 → onClick判定がfalse:終了 onClick判定がtrue : hrefに遷移です。

スポンサードリンク

Copyright © 双子パパのエンジニア記録 All Rights Reserved.
ほったらかしでも稼げるFC2ブログテンプレート [PR]
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。