ベストアンサー mod_phpとcgi版phpはなにがどう違うので 2011/10/04 03:39 mod_phpとcgi版phpはなにがどう違うのですか? みんなの回答 (1) 専門家の回答 質問者が選んだベストアンサー ベストアンサー SAYKA ベストアンサー率34% (944/2776) 2011/10/04 08:09 回答No.1 常駐して処理するか 一回ずつ起動するかの違い みたいな感じ 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発PHP 関連するQ&A 安いレンサバだとphpはCGI版しかないのはなぜ? なぜ、さくらやロリポップなど安いレンタルサーバでは(あるいは他の業者でも安いプランだと) phpはCGI版しか提供していないのでしょうか? また、利用者として、CGI版とmod_phpを比較したときの メリットデメリットとはなんでしょうか? よろしくお願い申し上げます。 PerlとphpのCGI版 Perlは文書に最適化された言語だと今日知りました。 そこで思ったのですが、PerlとphpのCGI版の場合だと ファイルの読み書きなどを考えてみたところ、速度にさほど違いはないのでしょうか? mod_perlとphpのモジュール版の速度は同じくらいだと聞きます となればphpのCGI版はさほど早くなく、Perlと同程度じゃないかと思ったわけです どなたか教えてください! CGI版PHP? よろしくお願いします 現在ローカルで Windows2000+Apache2+php4のPHPの実行可能環境を構築しています ところが、現在使用しているサーバーの1つが CGI版PHPというのかどうかわかりませんが 拡張子を.cgiにして1行目に #!/usr/local/bin/php-cgi-4.3.11 などを書いてPHPを実行する方法をとっています これだと、ローカルで構築したあとに拡張子を変えて リンクを変えて・・・と面倒なので 拡張子がphpでもcgiでも実行できる環境を構築できないかと思い 質問させていただきました 参考になるホームページなどがありましたら教えていただけないでしょうか? CGI版PHPについて 一般的なPerlのCGIが実行可能な状態のApache(Linux上)にCGI版のPHPを追加インストールした場合、ApacheはスクリプトがPerlであるかPHPであるかの違いをどう認識するのでしょうか? 方法1 スクリプトはどちらも*.cgiとして作成し、スクリプト内先頭行のperlやphpへのパスの記述で認識する 方法2 perl→*.cgi php→*.php のようにhttpd.confや.htaccessで設定する 初心者のためこの二つくらいしか思い浮かばないのですが、どちらかが正解だったりしますか?? phpでDSO版とコマンドライン版(CGI)の併用について php3でDSO版とコマンドライン版(CGI)の併用は可能でしょうか? 本やHPで調べてみたら無理そうなのですが、できる方法を知っておられる方 おられましたら、参考サイトでも結構ですので教えていただけないでしょうか。 もしくはphp3をDSO版でphp4をコマンドライン版(CGI)としての併用は可能でしょうか? よろしくお願いします。 PerlのCGIとPHPを 特定のディレクトリのCGIの中にPHP(Apacheのモジュール版)を書き、(CGIで<?php~?>とHTMLを出力させる)Perl/CGIを実行したときにその出力の中に含まれるPHPを実行させたくて、.htaccessに AddHandler application/x-httpd-php cgi AddHandler cgi-script .cgi を書いたのですが、どうやらPHPのAddHandlerの後に書かれているCGIの方が優先され、PHPが実行されず、CGIのみが実行されます。 順序を逆に書いても、今度はPHPが優先されてしまい、どちらか片方しか実行されません。 どうすれば、両方同時に実行させられるでしょうか、教えてください。 それが不可能ならば、とりあえずPerl/CGIからPHPを呼び出して先に実行させるようなことができるのならば教えてください。 ちなみに、httpd.confには拡張子cgiをすべてのディレクトリでCGIとして実行、拡張子phpもすべてのディレクトリでPHPとして実行させるようにAddHandlerされています。 Apache/2.0.58(Windows版) PHP/5.1.6 CGI: ActivePerl 5.88 です。 .htaccessの中身が php5 CGI版で動かない 拡張子htmlファイルをphpファイルと認識させる為に、 .htaccessで AddType application/x-httpd-php .html AddHandler x-httpd-php .html と書いて対応していました。 今まではサーバーのphpのバージョンがPHP4(DSO版)だったのですが、昨日サーバーのバージョンがPHP5(CGI版)になってから、上記のような.htaccessが機能しなくなってしまいました。 order deny,allow deny from all ↑ これはちゃんと動くので、.htaccess自体が拒否されてるみたいなことはないと思います。 AddType application/x-httpd-php .html AddHandler x-httpd-php .html ↑ このプログラムがPHP5 CGI版にて意図した動作とならないのです。 何か分かる方いらっしゃいましたら、宜しくお願い致します。 PHPのApacheモジュール版とCGI版の違い タイトルのとおりなのですが、PHPのApacheモジュール版とCGI版ってなにが違うのでしょうか? 今はモジュール版でしか構築したことないのですが、仕事の都合でCGI版で構築しなくてはいけません。 プログラムを書く上で、違う点がありましたら教えてください。 #!/usr/local/perlみたいなものもいるのかな? CGI版PHPで「basuc認証」のようなことを お世話になります。 いつもありがとうございます。 早速ですが、 CGI版PHPサーバーで作成中のPHPブログラムの中に 「basic認証」のようにものを組み込みたいのですが、 どのような記述になりますか? .htaccess の設定も必要なら、こちらも 教えてください。 お忙しい中、申し訳ありませんが、 よろしくお願いします。 php/cgi , php(cgi)とは? phpを勉強するのに当たって無料レンタルサーバーを借りたのですが、PHPをそのままおけば出来る物だと思っていたのですが、できなかったので詳細をみたところPHP/cgiと書かれていたのですがどういうことなのでしょうか? この意味をわからなければPHPを使用することはできないと思い質問させていただきました。 PHPをCGIにする方法(?)とできればそのやり方をアドバイスして頂きたいのですがよろしくお願いします。。 CGIとPHPは何をするもの? いろいろサイトを見て知ったのはPHPの方がCGIより軽量で動作が速い、データベースへ簡単に接続できるということ。まではわかりました。 しかし、PHPはCGIではないのですか? いろいろネットで調べてもPHPはCGIと同じようなことをするものだとしかおもえませんが、わざわざ「PHP」と「CGI」を区別するのには何か理由があるのではないのでしょうか? プログラマの人からすると常識でしょうが、プログラムを書いたことが全然ないので全くの素人です。 CGIとPHPはいったいWEBで何をするのでしょうか?プログラミングとは聞いているのですが、それを使って何が出来るというのがわかりません。よろしくお願いします。 phpでCGIをインクルード コンテンツをPHPで作成していますが、掲示版はCGI(PERL)で自サイト内においています。 例えば、index.php内に掲示板のトップであるbbs.cgiをインクルードささせる方法はないものでしょうか? index.phpとBBS.CGIは同階層に設置してます。 ちなみに、PHPで掲示板という手もありますが、今まで運営しているCGI掲示板にこだわります。 SSIは使わないでインクルードさせる方法があれば、教えて下さい。 (サイト検索しましたが、ヒットしませんでした。) CGI・PHPなどについて教えてください。 CGIの設置できるHPスペースへの移転を考えています。 いくつかに絞ることは出来たのですが、 CGIの利用規約を読むと CGI・PHPの制限について ・自動リロードを備えたCGI・PHPゲーム ・高負荷CGI・PHPゲーム ・C言語などによるバイナリ実行ファイルのCGI ・TELNET.CGI などとありましたが、 素人の私にはなんのことかさっぱりわかりません。 ↑の3つについて、 素人の私にもわかるように説明をお願いします。 PHPかCGIか迷っています ホームページ制作はほぼできるのですが、次に勉強しようと思いましてcgiの勉強を始めたのですが、PHPの方が良いという人がいまして、迷っています。CGIからPHPの方が楽に進めるのでは無いかと思うのですが、ご教授願えないでしょうか??PHPの関数とCGIの関数は違うのでしょうね。 CGIとPHP PHP初心者です。 レンタルサーバーなどで、いろんな契約がありますがCGIが使用可能とあった場合に、PHPが使用可能である。と考えていいのでしょうか?また、CGI不可の場合は、拡張子がPHPのものは全て不可なのでしょうか? 自分のイメージとしては、CGIは機能でPHPはそれを実現する手段と言うイメージなのですが・・・ 正直、よくわかりません。 よろしくお願いします。 UserDirでCGI版PHPを動作させたい お世話になります。 最終的にはsuexecでの動作を目指しておりますが、その前段として UserDirでのCGI版PHPの動作をさせようとしています。 DocumentRoot配下でのCGI版PHPの動作には以下のような設定で成功しました。 [httpd.conf] Action php56-cgi /cgi-bin/php-5.6.27 <Directory "/usr/local/apache2/htdocs/php5test"> Options FollowSymLinks Includes ExecCGI AddHandler php56-cgi .php .html Require all granted </Directory> <IfModule alias_module> : ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/" : </IfModule> # ls -l /usr/local/apache2/cgi-bin/php-5.6.27 lrwxrwxrwx 1 root root 22 11月 8 14:58 php-5.6.27 -> /usr/local/bin/php-cgi* /usr/local/apache2/htdocs/php5test/に置いた whoami.php の内容 <?php echo 'Current script owner: ' . get_current_user() . "<br><br>\n"; $current_user = trim(shell_exec('whoami')); echo 'Current user: ' . $current_user . "<br><br>\n"; $c_time = date("Y年n月j日(D) Ah:i"); print("Current time: $c_time<br>\n") ?> http://xx.xx.xx.xx/php5test/whoami.php Current script owner: root Current user: apache Current time: 2016年11月10日... と表示されます。 -------------------------------------------------------------------- ここから本題です。 $ mkdir /home/hoge/php56 $ cd /home/hoge/php56 $ ln -s /usr/local/bin/php-cgi php-5.6.27 $ ls -l lrwxrwxrwx 1 hoge hoge 22 11月 10 11:47 php-5.6.27 -> /usr/local/bin/php-cgi* $ ls -l /home drwxrwxr-x 30 hoge hoge 4096 11月 10 11:43 hoge/ $ ls -l /home/hoge drwxr-xr-x 2 hoge hoge 4096 11月 10 11:47 php56/ drwxr-xr-x 2 hoge hoge 4096 11月 10 10:41 public_html/ $ ls -l /home/hoge/public_html -rw-r--r-- 1 hoge hoge 331 11月 10 10:41 whoami.php [httpd.conf] <IfModule alias_module>内に ScriptAlias /hoge-php/ "/home/hoge/php56" を追加しました。 UserDir public_html Action hoge-php56 /hoge-php/php-5.6.27 <Directory "/home/hoge/public_html"> Options Indexes FollowSymLinks ExecCGI AddHandler hoge-php56 .php .html Require all granted </Directory> ブラウザで閲覧すると http://xx.xx.xx.xx/~hoge/whoami.php forbidden You don't have permision to access /hoge-php/php-5.6.27/~hoge/whoami.php となります。 ScriptAlias, Action がよく理解できていませんので ご指導よろしくお願いします。 PHPがあればCGIは使わない 掲示板を作ってみたいです。 とりあえず仕事に使うわけでもないし、あくまで趣味の範囲なので覚えやすいと言われるPHPを勉強してみようと思いました。 昔から掲示板作りにはCGIというものが必要というイメージがあり、CGIを勉強できる本を探したところ、Perlとセットのタイトルを持つ本ばかりで「CGI/PHP入門」みたいなのはありませんでした。 もしかしてPerlで掲示板を作るにはCGIが必要と言うだけで、PHPなら単独で掲示板が作れるのでCGIは必要ないということなんでしょうか? MinecraftJava版 Mod MinecraftJava版でMinecraftを再起動せずにModを再読み込みさせることが出来るようになるModを教えてほしいです。 Minecraft環境 Forge1.12.2.14.23.5.2859 その他教えてほしいことがあれば補足します。 mod_perlが早いと良く言いますが… mod_perlが早いと良く言いますが、 (1)「mod_perlを使用して動いているか、否か」を自分のホームサーバーで確認する方法。 (2)同じく、レンタルサーバーで確認する方法。 (3)mod_perlが早く動作する仕組みが、「phpがcgiモードではなくSSIみたいに動作する仕組み」とおおむね同じなのかどうか?といった点についてわかりやすく教えて下さい。 素朴な疑問です。 CGI内でphpを含むhtmlを読込みたい はじめまして。makademiと申します。 phpはまったくの初心者ですので、的外れでしたらすみません。 現在、以下のような構成のアンケートフォームを作成しています。 form.cgi ↓読み込み input.html 入力画面 check.html 確認画面 error.html エラー画面 end.html 完了画面 全てのhtmlはcgiでコードを読込んだ後に、print文で書き出しております。 今回はこのhtml内にphpのコードを書き込み、phpを動作させたいのですが、この場合どのようにすればよろしいでしょうか。 phpの動作の前提が『ファイル名.php』であるかと考えてますので、これだと拡張子は.cgiになってしまいます。 何か手はないでしょうか。 注目のQ&A 「前置詞」が入った曲といえば? 緊急性のない救急車の利用は罪になるの? 助手席で寝ると怒る運転手 世界がEV車に全部切り替えてしまうなら ハズキルーペのCMって…。 全て黒の5色ペンが、欲しいです 長距離だったりしても 老人ホームが自分の住所になるのか? 彼氏と付き合って2日目で別れを告げられショックです 店長のチクチク言葉の対処法 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど