PHPプログラムの反復間でSQL接続/セッションを「開いた」ままにして、プログラムが再ログインし続ける必要がないようにすることは可能ですか?
私は、統計的な気象データをWebで継続的に(そして合法的に/敬意を持って)ポーリングし、分析のためにローカルのMYSQLデータベースにダンプするPHPプログラムを作成しました。ローカルデータベースブラウザを介してデータを表示するのではなく、外部のWebホストによってホストされるオンラインWebページとしてデータを利用できるようにしたかったのです。
これに取り組む最善の方法がわからないので、ローカルMYSQLデータベースをWebホストのサーバーにエクスポートしました。これは、PHPプログラムが継続的にループする必要があるためです(デフォルトのランタイムより長く、HTMLも継続的にページを更新する必要があるため)。 、ローカルコンピュータに「エンジン」を保持して、ページをブラウザで継続的にループさせてから、Webサーバー上のデータベースに接続してデータをダンプできるようにするとよいでしょう。
それは数時間働いた。しかし、その後、起こるかもしれないと恐れていたので、cPanelのログイン/ホストにアクセスできなくなりました。それ以来、自分のIPがブロックされている(ホスティング会社は現在閉鎖されている)ことを自分のテストで確認しました。これは、PHPプログラムが10分ごとにオンラインSQLデータベースに再接続しているためです。この動作と接続間の時間は、IPブラックリストに登録するのに十分だとは思いませんでしたが、残念ながら、そうでした。
さて、私のIPをホスティング会社にホワイトリストに登録する可能性は別として、プログラムが反復の間に再ログインし続ける必要がないように、MYSQLセッション/接続を維持する方法はありますか?
これは、おそらく最大実行時間制限を手動で調整した後、PHPプログラムを無期限に実行し続けることができた場合にのみ可能になると思います(他の外部制限、おそらくブラウザー制限があるかどうかはわかりません)。これが実行可能かどうか、または機能するかどうかはわかりません。
MYSQL接続用のシステム全体の低レベルの「Cookie」のタイプはありますか?PHPプログラムが終了して終了すると(そしてHTMLがページを更新するのを待つ)、再ログインする必要がない唯一の方法は、ある種のCookieまたはIPアドレスアクセス(必要な場合)を使用することだと思います。サーバー側の機能/実装)。
ここでの私のアプローチは、おそらくこれを達成するための最も効率的/効果的な方法ではないことを認めます。したがって、同じ最終結果を達成する代替のアプローチと提案も受け入れます。データベースにダンプし、データベースをWebページに継続的にダンプする継続的なWebスクレイピングループです。
(私は、ウェブホストにIPホワイトリストを要求するか、単にファイアウォールのアクセス禁止率を決定する以外に、これを達成する方法を探しています。本当に実行可能またはより良い方法がない場合は、これらのいずれかを実行します。)