
No.2ベストアンサー
- 回答日時:
> ApacheのモジュールとしてPHPがインストールされた環境で実行します
であれば、PHPのプログラムはApacheの子プロセスの一部として実行されます。
Apacheは親プロセスはブラウザーからのアクセスを受付けるだけで、受付た後の処理は子プロセスに引継ぎ子プロセスとブラウザーの間で通信が行われます。
> requireで読み込むと子プロセスも1つになるのですか?
PHP自体の実行としては、ファイルが別々でもincludeやrequireで読み込んだプログラムは一つのプログラムとして実行されます。
実際には最初に呼ばれたファイルを開き、includeやrequireされたファイルを開きながら一つのプログラムとしてメモリ上に展開します。
メモリ上に展開したPHPプログラムをPHPの言語エンジンで実行するためのプログラムとしてコンパイルを行い、コンパイル結果を言語エンジンで実行します。
従って1つ1つのファイル毎に実行される訳ではありませんので、ブラウザからの1回のリクエストは1つのプロセスで処理することになります。
但し、PHPのアクセラレータを使用すると若干動作が変わります。
> 子プロセスとゆうのはオーバヘッドにはあまり関係ないですか?
何のオーバーヘッドでしょうか。
Apacheの子プロセス自体は、親プロセスがApacheの設定情報に基づき必要数を予め作成してリザーブしていますので、ブラウザーからアクセスがあってから子プロセスに処理が引き継がれるまでのオーバーヘッドは気にするほどでは無いと思います。
よほど突発的にアクセスが急増するような状況で無い限り、アクセスが来てから子プロセスを作成するような動作にはならないと思います。
No.1
- 回答日時:
PHPのプログラムをどうやって実行するか次第です。
コマンドラインから別々に実行すれば、それぞれは別プロセスです。
ApacheのモジュールとしてPHPがインストールされた環境で実行したら、Apacheの子プロセスの一つで実行されるので、子プロセスとしてみれば別々だけど親プロセスは一つです。
また、hoge.phpがhuga.phpにincludeされて実行されるのであれば、どのような実行方法でも一つのプロセスとして実行されます。
この回答へのお礼
お礼日時:2013/05/21 14:02
お答え頂きありがとうございます
ApacheのモジュールとしてPHPがインストールされた環境で実行します
requireで読み込むと子プロセスも1つになるのですか?
子プロセスとゆうのはオーバヘッドにはあまり関係ないですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPにてC言語プログラムを呼び...
-
ヒアドキュメントの中で演算子...
-
mysql複数レコードをまとめて削...
-
ファイルの実行権限について
-
require_onceが動いていない
-
3の倍数の和
-
PythonのTkinter詳しい方へ。画...
-
PHPのif文でその処理を途中で抜...
-
リンク先を隠す方法はないでし...
-
ロケットBBSについて
-
PEAR(Image_QRCode)のエラー
-
php.exeが強制終了されてしまう
-
あらゆる例外に対応できるエラ...
-
正規表現での最後尾のバックス...
-
Visual C++ 2005 Express Editi...
-
BASP21のFTPで日本語ファイル名...
-
pictureboxに表示した画像のフ...
-
index.phpって何ですか? 具体...
-
PHPファイルが、そのまま見えて...
-
[php初心者]サイトを見てデータ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
シェルスクリプトをPHPで動かそ...
-
php実行中に実行中のphpファイ...
-
mysql複数レコードをまとめて削...
-
PHPにてC言語プログラムを呼び...
-
PHPでサーバーにインストールさ...
-
Prompt入力値をphp変数として取...
-
現在、レンタルサーバ(コアサー...
-
Switch文における、returnとbre...
-
別サーバのプログラムを起動
-
CRON でPHPスクリプトをGET変数...
-
JSのWINOW.CONFI...
-
date関数の問題
-
htmlでsubmitで指定したAction...
-
copy() で属性保存
-
phpスクリプトのみで定期実行
-
php copy がうまくいきません
-
新規登録したデータが表示され...
-
PHPでexecやpassthruすると
-
PHPでMysqlにデータがあるかど...
-
バッチファイルで『inotifywait...
おすすめ情報