忍者ブログ

カウンター

プロモーション

カレンダー

04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

AntinomyMy の実験室

   私のWEBアプリ実験室です!

ブログ内検索

楽天でお買い物

twitter

最新トラックバック

最新コメント

忍者アナライズ

ウェザーニュース

バーコード

本を買う

アクセス解析

Google+

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


  • 2024/05/03 09:00

勘違いで見つけたcURL(Client URL Library)と思ったが!!!

PHP の調べ物

 何時もの様に、自由に迷ってみました、
そしてその迷ったこの思いをやはり何時もの様に、綴っておこうと思います。
(右往左往して毎度毎度間違えから何かを確実に少しづつですが得ていると思います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

拍手[0回]

PR


  • 2010/08/24 23:17

コメント一覧

  • お名前
  • Email

  • コメント

  • Vodafone絵文字 i-mode絵文字 Ezweb絵文字
  • パスワード
[PR]