レンタルサーバー上のPHPプログラムは複数人同時使用は可能? - PHPプロ!Q&A掲示板

2613

  • 0P

レンタルサーバー上のPHPプログラムは複数人同時使用は可能?

質問日時 / 2010年3月9日 19:28    回答数 / 3件

Questioner:  ibm55502000  このエントリーをはてなブックマークに追加 

キーワード / マルチタスク    PHP   

AS400等のオフコンで以前開発していましたが
ここ数年は遠ざかっておりました。
PHPで開発する必要が出てきたので
何本かを作りましたが
次の記事を見て、非常に不安になりました。
タイトルは「PHP V5 でマルチタスク動作のアプリケーションを開発する」
http://www.ibm.com/developerworks/jp/opensource/library/os-php-multitask/

この記事の概要が理解できない上に
「レンタルサーバー上のPHPプログラムは複数人同時使用は可能?」
「MySQLは、同時に複数ユザーで同一レコードを更新するのか?」
という疑問まで生まれてきました。

オフコンの時は、何も考えなくてもよかったのですが
レンタルサーバー+PHP+MySQLで
プログラムを開発して公開するには
・PHPのプログラム上で、マルチタスクについて考慮する
・MySQLを利用するには、複数人の同一レコード処理を考慮する
の点については
プログラマーが細かい処理を
ソースコードに記述するのですか?

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┣A01shimix>PHPのプログラム上で、マルチタスクについて考慮
┃┗A01-1ibm55502000御回答頂き、ありがとうございます。 プロセスは自
┗A02signal解決済みですが 一般的なWebのシステムでは「マル

回答一覧

並び替え:

A01 満足
answerershimix [3月9日 21:09] (最終編集:3月9日 21:21)

>PHPのプログラム上で、マルチタスクについて考慮する

同時に複数が呼び出されることはありますが、別プロセスですのであまり考慮することはありません。例示された記事の方が「特殊」な部類になります(なので記事になっているわけですが)。phpスクリプトでマルチタスクというのは、少なくとも私はやった経験がありません(汗


>MySQLを利用するには、複数人の同一レコード処理を考慮する

これは当然ですね。別プロセスからアクセスするわけですから。普通のアプリケーションと同じです。ただ更新前の表示時点でロックするとロックされたままになりますから(webアプリなので呼び出されるたびに別プロセスなので・・)更新直前のロック付きREADで「前回読み込んだときの更新SEQ(全部の更新ロジックでインクリメントする)と同一か」をチェックして(当然SEQ値を引き継がないといけません)一致していなければ「他から更新が入ったのでやり直し」になります(そのままロック解除する)。

まぁ、「更新処理」は普通の業務アプリのようには多用しないとは思います。新規データをinsert(こちらはロックが不要ですね)して、SQL文で集計して・・というパターンが多くなります。

#もちろん管理画面からの更新やバッチ的な更新処理(cronで実行とか)もあり得ます。

このあたりは、そもそも「データベース設計」の時点で、決まってくる部分だと思いますし、普通のwebアプリではエンドユーザーでの更新を許可しない(更新は管理画面からのみ)ということにして省略するケースもあります。

∴ 業務系のようなものをそのままwebアプリに載せ替えると、一般的なwebアプリとは全然様相が異なってきますね。設計が大変だろうなぁ(汗

この意見に回答する

ツリーへ TOPへ

A01-1
replyeribm55502000 [3月9日 21:53]

御回答頂き、ありがとうございます。

プロセスは自動で立ち上がる。
プロセス別にPHPプログラムは動く。
但し
別プロセスのPHPプログラムが
同一記述のSQLで同じレコードを取ることがある。

と理解しました。

分かり易い説明をして頂き
心より感謝申し上げます。

この意見に回答する

ツリーへ TOPへ

A02
answerersignal [3月10日 23:17]

解決済みですが

一般的なWebのシステムでは「マルチタスク動作のアプリケーション」
ということはしないので、気にしないでよいとおもいます
# がんばってPHPで実装する必要もないですし…

> ・PHPのプログラム上で、マルチタスクについて考慮する
上記理由から考慮する必要はありません

> ・MySQLを利用するには、複数人の同一レコード処理を考慮する
これは考慮する必要がありますが、基本的にMySQLがうまいこと処理してくれますから
細かい処理を記述する必要はありません

なのでPHPでDBの処理はとても簡単です

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
PHPのHTML埋め込み記述について
 このエントリーをはてなブックマークに追加 
A
$_POST["data"] == "男" ? $val = "checked" : $val = "" ; の意味は以下と同じです。 if($_POST["data"] == "男"){ $val = "checked; } e...

>>続きを読む

kende様のご指摘通り、三項演算子を使用する際には、コードの複雑度などを考慮する必要がありますね。書きやすさと共に可読性も追求したいところですね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)