サーバ用にしようと思っているサブPCでは、
コンパクトなキーボードばかり使っている。
しかしどうもコンパクトなキーボードは毎回配列が異なるのは良いとして、
案外キーボードのキーに書いてある文字と、実際に押してみた時のキーが違う現象が起きる。
私が持っている84 キーボード なんていうのは最悪だ!
半角/全角キーだけではIMEが動かないどころか、関係の無い文字が入ってしまう。
また、同様に[ * ]が使いたい場合も、なぜかShift + [ 8 ]キーだったか、全く関係の無いキーを押すと
やっと[ * ]が使える始末。
顔文字を書こうと思って[ ^ ]を使おうとしても[ = ]になって・・・
これもまた場所が違ってShift + 何処かの数字を押したらやっと[ ^ ]を見つけたが、
キーに書いてある事と違い、そんな事を習慣にして覚えたいと思う訳はなく・・・・w
とりあえず、これの直し方が変わったのでメモしておこうと思う。
但し色々なキーボードを同時にPCに繋いで使っている場合はそのキーボード同士の
配列が違うなら、違う設定になってしまうのではないかと思う。
予想が出来るので其処まで試してはいないが、注意点である。
レジストリは、場所など示すのが面倒なので元の101の時と後の106の場合を書いておく。
そのままメモ帳に張り、拡張子を[reg]にしてそれを適当な名前で保存し実行すれば良い、
しかし自己責任である。
~~~元の101~~~~>
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]
"LayerDriver JPN"="kbd101.dll"
"LayerDriver KOR"="KBD101A.DLL"
<~~~~~~~~~~~
~~~修正106~~~~>
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]
"LayerDriver JPN"="kbd106.dll"
"LayerDriver KOR"="kbd106n.dll"
<~~~~~~~~~~~
この様に~~~> <~~~ の間をメモ帳に貼り付け保存すれば良い。
色が赤になっている所が変更して注目して欲しい所だ。
色が緑になっている変更箇所は、Windows がDLL を大文字や小文字で区別していないのだろう、
元が大文字の英語になっている、そんなに気にするべき場所ではないとは思う。
また私が修正106で小文字を使っているのはディレクトリ上のファイル名をそのままコピーして
貼り付けたからだ、つまりファイル名は小文字の英文字を使っていたことになる、
気になるなら大文字にしても良いとおもう。
自分でレジストリを編集するのならば、スタートメニュー> ファイル名を指定して実行>
そこで、「 regedit 」と入力してレジストリエディタを開き
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]
を見て編集すれば言い訳だ。
なかなか抜本的な対処が見当たらない場合には良いと思う。
今後84 keyboard を利用する場合の参考になれば良いとおもう。
以上メモでした。
何時もの様に、自由に迷ってみました、
そしてその迷ったこの思いをやはり何時もの様に、綴っておこうと思います。
(右往左往して毎度毎度間違えから何かを確実に少しづつですが得ていると思いますw)
複数のURLを意識せずに同時に開きたいと思って、
PHP のマニュアルで色々探してみた。
プロセス制御環境でPHPのスクリプトを同時に走らせようかと思ったが、
UNIX では動くがWindows では動かないとか、プラットフォームに依存する
関数が多くみられたので困った。
具体的には、PCNTL — プロセス制御 を使おうと思ったがその
プラットフォームに依存するので、OSに合わせて自動で切り替わる様な
スクリプトを書くのはどうも安定した結果が出せない気がしていました。
他にもそのプロセス制御で、セマフォ — セマフォ、共有メモリおよび IPC
とか、下記※の様な条件付きでの共有メモリなども含め複数のURLを同時に
取得する方法を入手しようかと思いましたがなかなか見つかりませんでした。
※「Windows 2000 より前のバージョンの Windows では共有メモリをサポートしていません。
Windows では、PHP が Apache や IIS などの web サーバモジュールとして稼動している場合にのみ」
そしてまたこれもこのブログを書きながら間違えだったと気が付いたのですが、
cURL という物がありました。
このcURL とは、例えばログイン処理してからしか見られないサイトなどで
ログインのアドレスやパスワードを元にログイン処理をしてから
ログインしてから見られない情報を得るなど、しっかり手順を追って処理出来るように
した物の様です。
私が欲しい物では無かった様ですが、ネット上で調べるとセオリーの様な話があるので
一応メモ書きをしている訳です^^;
cURL はWindows 環境で有効にするには、php.ini の中にある
;extension=php_curl.dll を使えば良い様です。
これの「;」を取り除き有効にします。
一応私は確認の為にPHP のext フォルダの中身を見て
中にphp_curl.dll がある事を確認しました。
また導入前のWindows 環境でphpinfo()関数を用いたとしても
cURL と言う言葉すら出てこないので、一瞬これは対応していなのかな?
と思いましたが、しっかりphp_curl.dll をphp.ini のextension を有効にして
Apache(私の場合)を再起動すればすぐに項目が現れました。
(私のApache 用のVC6コンパイルのPHP5.33の環境にて)
やはりWindow 環境で開発している分、そういうプロセス関係で
PHP のスクリプトを呼び出すなどは現在のPHP ではプラットフォームに
依存する様な書き方が一番性能が良い様で、プラットフォームを選ばない方法で
これだ!と思える関数やライブラリは無い様でした。
とりあえずは、Window の環境でのなんらかの方法を見つけ、
その後でWindow環境とLinux 環境でも使えるスクリプトを作れるなら
作ってみようと思った、しかしプラットフォームごとにプロセスの仕方が違うと
レスポンスなどは全く変わってしまうだろうと思う、私が思うに最大のネットアクセス数か
何かがWindow で改良というか改造を加えなければ、10にも満たない記憶がある、
これはDoS攻撃かなにかの踏み台にされない為にそうなったハズだが、
これを外す方法はある、いずれにせよやはりサーバはLinux(UNIX)の方が
有利であることは良くわかった・・・・PHPでさえも!・・・・
私は欲張った構想と、小さなテストプログラムを幾度も頭の中や紙や
ソース(スクリプト)上で書いてみて色々するタイプだが、考える事の方が
時間を取られる事もあり、頭の整理や実感をする為にこのブログを書いた事は
私らしくも恥ずかしいが否定できないだろうと思った。
以上メモでした。
追伸:
以上だと思ったが!!!
まだ桎梏(しつこく この漢字生まれて初めて使う、脱線気味でごめんw)追求していると
どうもこのcURL で並列に実行できそうだ!!!!!!!!!!
並列処理にもっていくには、cURL マルチハンドルに、通常の cURL ハンドルを追加するらしい。
その関数は、curl_multi_add_handle() という関数みたいだ。
ぶっちゃけ目から鱗&目から涙だ;v;wwww うれしすぎるw
これで私のしたい事がいっぱい終わりそうだ。
何度も言うがうれしいw よくやったPHP これからも期待している><bw
過去の私のブログ、xdebug やらZend Debugger を使う前の予備調べ にある
XDebug というデバッガーを動かすためのphp.ini の設定でずっと疑問に思っていた設定がある。
その設定項目は、
zend_extension
zend_extension_ts
の違いであった。
この違いの意味が何処に書いてあるのか今までわからなかった。
しかし公式サイトにしっかり書いてあったのでその事をメモしておく。
公式サイトには、
以下の4つが存在した。
--- --- php.ini に書くらしい、xdebug の設定(※なにやら環境によって違うので鵜呑みは危険!) --- ---
zend_extension string
動的読み込み可能な Zend 拡張モジュール (たとえば APD) を PHP の起動時に読み込む際の絶対パス。
zend_extension の亜種で、デバッグ情報つきでコンパイルされた拡張モジュール用のもの。
zend_extension の亜種で、デバッグ情報つきかつスレッドセーフでコンパイルされた拡張モジュール用のもの。
zend_extension の亜種で、スレッドセーフでコンパイルされた拡張モジュール用のもの。
--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
デバッグ情報付きというのは、PHPをデバッグする為のものらしく、
PHPがデバッグ情報付きでコンパイルされているかどうかによって _debug とついた読み込みを
するかしないかを選ばなくては正確に動作しない様だ。
その情報を知るには、phpinfo関数を用い、その項目から、
Debug Build | no |
Thread Safety | enabled |
Debug Build | |||
no | noじゃない(Yesとかon?) | ||
Thread Safety |
disabled | zend_extension | zend_extension_debug |
enabled | zend_extension_ts | zend_extension_debug_ts |
Debug Build | no |
Thread Safety | enabled |
xdebug support | enabled |
---|---|
Version | 2.1.0 |
Supported protocols | Revision |
---|---|
DBGp - Common DeBuGger Protocol | $Revision: 1.145 $ |
またも本格的に開発を進める前に、
Windows 7 のPC を手に入れてしまったので、
そちらのPC へ開発環境を入れようとした時にPHP のバージョンが
上がっていたのでついでにバージョンアップしようと思った。
私の行うWindows 環境のPHP の以降は極めて簡単で、
httpd はApache を用い、そこそこのマルチスレッドのPCなので
PHP のダウンロードはVC6 x86 Thread Safe のダウンロードをして
php.ini の内容を比較し、エディターで書き換えた物を用意し、
元のディレクトリーにあるPHP を消して、新しい物と置き換え、
Apache サービスを再開してみるだけである。
今回設定としてバージョンアップとして項目が関係しているのは
session.entropy_file の様です。
この項目は、session.entropy_file で指定したリソースに関しての
設定の様で、バイト数を指定し、デフォルトは、0 (無効)だそうです。
特にPHP 5.3.3 でこのsession.entropy_file で変わった所は、
ランダムでファイルパスと言うかIDを作ることの様です、この表現は間違っているかも
しれませんので、具体的には公式のページを見てください。
元々このsession xxx の設定の意味がよくわからなかったのですが
よく調べてみると、phpやWebでのセッションの意味が私が良くわかっていなかったのが
良くわかりました。
この場合のPHPのセッションとは、個別のコンピュータごとに
違う結果を残す為の仕組みの様です。
その場合のセッションの情報を残す為の場所を指定するのが、
session.entropy_file であり、その情報の読み取るバイト数を
session.entropy_length で決める様です。
関連の関数としては、
session_start 関数
session_register 関数
などがある様です。
まだセッションの設定は色々ある様ですが、
私はまだプログラミング出来ない、していない段階なので、
詳しくはgoogle検索をした方が良いでしょう。(私がwですww)
さて、後は元のphp 5.3.2 のphp.ini の内容を
5.3.3 の新しく使うphp.ini の設定に変更点や修正を書き込むだけです。
本当に個人的なメモになります、全く他人には当てにならないメモなので悪しからず。