はPHPに適した非常に大きなプロジェクト?できる取引-安全ですか?

StackOverflow https://stackoverflow.com/questions/934236

  •  06-09-2019
  •  | 
  •  

質問

その質問があり不思議に思います。

それでも毎回作ったPHPのプロジェクトに出会ったこのような悪い経験:

スクリプトを解除走行後10秒です。この結果は非常に悪いデータベースの不整合(悪い例のためループを削除する:ユーザーを削除したフォトアルバム。アルバムオブジェクトが削除からデータベースに、その半減を削除する写真のスクリプトが死にがなんであることに変わりはなく、10.000写真がないまま参照)。

な取引の安全です。ことがなかっこりしたい する安全に, についてアフターサービスについての を行い.場合はスクリプトが殺害され、行動の便が良いことから、殺害されました。右の中のループを実行します。くだけで殺害されました。ことに起因tomcat java.Javaの実行を運行っています。

多くの情報紙-スクリプトしてみよく理解していただいて、しかもこの問題による分割モジュールのインストールには多くのパッケージ、すなわち送信100時に、そのreladingのページにうんカ)、次います。多くのもの話またはスクリプトは、以下10秒のプラットフォームには痛んだ。

がるようになったという声を聞く非常に大きなプロジェクトを使用PHPのようにstudivz(ドイツのfacebookのクローンが、実は最大のドイツ)も知ることができます。あなたの小さな希望の光がこの行動から好評を開催会社様だけで死にphpスクリプトでサーバーです。かについての真実。きるような形で設定されて、スクリプトなの殺害からかじめご了承ください?

正しい解決策はありません

他のヒント

はPHPに適した非常に大きなプロジェクト?

を見つけると、思わずうなるか少し不安です。ものは何か 非常に大きな を意味するのか。こころの大きい、小さくなった。るものと仮定して利用同じ)。ま測定時の構築プロジェクトの完全なライフサイクルのプロジェクト、お金が関わる人数を使用し、開発の構築/スしなければならない。など。

との問題だけを記述するいわからない技術。この問題のために使われる技術で摘み取る。例えば、利用データベースの取引を確保atomicity.使用オフラインの非同期雇用の処理には長期の課題(派遣などのメーリングリスト).

多くの場合、悪い行いが良い枠組みのように、Zend Framework.何をするにも時間は10秒ですぐのができ上げの実行時間 http://de3.php.net/set_time_limit

多くのビッグサイトwriten PHP:Facebook Wikipedia StudiVZ,Digg.com す。多くのものをいう構成にもかにするべきである。

性能というわけではありませんが特徴できるだけで投げ後のサイトが行われます。いデザインの重負荷時のものです。

場合データベースのタスクは通常は関10K行きが用意するだけでなく実行時間の問題、その他のメンテナンス質問をします。

  • 最悪の場合:作ツールの整合性をチェックを直します。
  • より:の代わりにphisically削除の画像は、フラグをしましょう背景のサービスの価が可能。
  • ベスト:利用できるジョブのキューのサービス追加このジョブをキューに挿入します

う場合に必要な取引phpしたりすることも可能です:

mysql_query("BEGIN");

/// do your queries here

mysql_query("COMMIT");

Commitコマンドは、まだ完全に本取引の対象となります。

する場合誤差が発生したりすることも可能ですロールバック:

mysql_query("ROLLBACK");

編集: 注する場合のみご利用のデータベースを支援する取引など、InnoDB

を設定することができないでいるけれど、ある時は可を実行するスクリプトのいずれかをクリアしました。iniの設定またはini_set/set_time_limit

の代わりにstudivz(ドイツのFacebookのクローン)までにFacebookを使用しますが、こちらはクリアしました。はつだ。たヤフー。または、多くの、多くのです。

ignore_user_abortか探しているものもあいまって、一層の理です。彼らは基本的には実行に指定された間隔で、いろいろなことをしていデータファイルシステムの状態にしたい...削除するだわり条件など、いろいろな方法廃ファイルのほか、シンプルで飽きの来ない多くのことができます。

これらの大きなループように削除するフォトアルバムの送信または1000の電子メールをおignore_user_abortとset_time_limit.
のようなこと:

ignore_user_abort(true); //users leaves webpage will not kill script
set_time_limit(0); //script can take as long as it wants
for(i=0;i<10000;i++)
 costly_very_important_operation();

きぼしかし、この可能性のあるスクリプトを実行して永遠に:

ignore_user_abort(true); //users leaves webpage will not kill script
set_time_limit(0); //script can take as long as it wants
while(true)
  do_something();

このスクリプトのない型の場合を除きを再起動します。

そのためではないのtime_limitは0になります。

技術的なプログラミング言語での取引を安全、データベースを必要とする取引の安全です。ここでは、スクリプトコード走行の金型や切断何らかの理由に取引を元に戻します。

をクエリループでは非常に悪いことではないとは具体的にはデザインするとともに、バッチや破れよりはるかに大きく設定することにしました。調整PHPパートの制限は一般的に停止ギャップの解だいたものの依存クライアントのブラウザをお使いの場合のキックオフスクリプト

している場合は、長いプロセスを経る必要がキックオフによって開始され、ブラウザで、"切断"のブラウザからのwebサーバで制御が戻され、ユーザーがスクリプトを運行しています。PHPスクリプトから実行コマンドラインで実行のための時間ます。を利用できますAJAX、または再読み込み、そのページで確認ができるの進捗状況の走行を記述します。

がありセキュリティ上の懸念事項となコードを用いたものの、切断プロセスからPHP下のようなApache:

exec("nohup /usr/bin/php -f /path/to/script.php > /dev/null 2>&1 &");

そんなPHPといわれる大型プロジェクトや取引の安全です。PHPに使用できる大型プロジェクトが、デフォルトであるコードは"居住者"とヒットでの取得が遅くない場合には設計されます。また、がありませんの名前空間を支援するかが大きな開発チームです。

そのためのJavaベースのシステムに数分かかるの起動時の初期化および負荷すべてのデフォルトのオブジェクト。これは、容認できないとクリアしました。PHPはかかりますが、計画のための大きなシステム。それでは、ただし一部のサービスについては、時間ですが、PHPを利用したく無駄の追加計画に要する時間は大きなシステム?

る理由が経験したの悪いデータベースの整合性をどの過去のがございますクリアできましたのMyISAMエンジンはmysqlに対応していない取引).利用InnoDB代わりについても支援を行ってい取引を行レベルロックしなければなりません。使用postgreSQL.

多くの、多くのソフトウェアサイトはクリアしました。ませんのでご了承ください聞いてて数百万のウェブページにPHPのない存在しなくなったことから捨てられます。ページが焼失すべての会社のお金を扱うためのPHPずかな綻したので、そのソフトで友達とお客様のたくなかったことは---PHPうのが良さそうで起動するものではありません規模のものです。ありが大きなウェブサイトにPHPが、それはむしろ例外、およ。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top