- ベストアンサー
すべての処理が開始される前に、必ず実行される処理
みなさん、おつかれさまです。 さて、PHP開発にあたって「すべての処理が開始される前に、必ず実行される処理」ファイルを用意しようと思っています。 他のサーバサイドスクリプトでは、たとえばASPですとglobal.asa、AdobeのColdFusionですとApplication.cfmなどがありますが、PHPの仕様として、これに相当する「予約ファイル名」はあるのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- Global.asaについて
お世話になります。 今回ASPを使用してアプリケーション開発をしております。 データベースに接続して、データを拾おうと思うのですが、そのデータベースへの宣言などをGlobal.asaでしようと試みている途中で止まってしまいましたので・・・ Global.asaはルートディレクトリにおいてあり、IISでの設定はセッションONになっております。 テスト的に実行するため、 <SCRIPT LANGUAGE="VBScript" RUNAT="Server"> Sub Application_OnStart Application("test") = "" End Sub Sub Session_OnStart Application.Lock Application("test") = "ttt" Application.UnLock End Sub </SCRIPT> とGlobal.asaには記述してあります。 ASPには <% Response.Write test %> と記述してありまして、実行しますと「ttt」と表示されません。なにか間違っている部分はあるのでしょうか?
- ベストアンサー
- Microsoft ASP
- 拡張子がhtmlでもphpスクリプト実行したい
webサーバがApacheの、レンタルサーバーでホームページを作っております。フレームの代わりにphpのincludeを使ってメニュー等を表示しています。しかし最終的に表示されるページの拡張子がphpでないと、きちんと表示されません。拡張子がhtmlでもphpスクリプトが実行されるようにしたくて、色々調べていたのですが、それらしき方法を発見しました。 Apacheで言えばhttpd.confの AddType application/x-httpd-php .php というところを例えば AddType application/x-httpd-php .php .html にするだけで、*.phpでも*.htmlなファイルであってもそこに埋め込まれているPHPスクリプトは実行されるようになる。 …とあったのですが、何をどう加えるか、もしくは変えればいいのかサッパリです。 もっとこっちの方が簡単だ、など、詳しい方いらっしゃいましたら、どうか宜しくお願い致します。
- ベストアンサー
- PHP
- PHPをCGIとして実行する方法
PHPをCGIとして実行する方法 現在PHP(モジュール版)にて開発を行っているのですが、 仕様上.htaccessを使用してcgi-binディレクトリ内にあるphpファイルをCGIとして 実行しなければならなくなりました。 下記の記述方法だと500エラーが発生してしまい、大変困っています。 <Directory "/usr/~(任意のcgi-binディレクトリのフルパス)~/cgi-bin"> AddType application/x-httpd-cgi .php </Directory> 因みに.htaccessはcgi-binディレクトリの1階層上に設置しています。 単に「AddType application/x-httpd-cgi .php」を記述する分には誤作動は起さないのですが、出来れば指定のディレクトリ内だけで指定したいと考えています。 もし思い当たる点がありましたら、ご教授お願い致します。 下記に環境を記しておきます。 【環境情報】 OS:FreeBSD 6.2(レンタルサーバ) PHP:5.2.4
- ベストアンサー
- PHP
- PHPで作るフレーム、どんな風に作ってます?
PHPやASPなどのサーバーサイドスクリプトで、全てのページにメニューなどを表示させて、フレームみたいなものを作るのがよくありますが、あれってどのように作ってますか? 僕はそれぞれのファイルに <?php function display_html(){ print <<<HJK ページの本文 HJK; } ?> として、フレームファイルindex.phpでdisplay_html()を呼び出してフレームを作成しているのですが、一般的にはどうなのかな、と思いまして。
- ベストアンサー
- PHP
- タイムアウト処理?となる
ローカルのシステムでデータベースからCSVファイルを作成して、公開用WEBサーバへFTPアップロード。その後CSVファイルをWEB用データベースに登録する処理を開発しているんのですが、開発用WEBサーバでは正常に完了するのですが、本番用WEBサーバで行うと最初の数万件は登録できているのですが、途中でエラーというか真っ白になって処理がSTOPしてしまいます。 開発、本番用共に同じPHPのファイルを使用しており、データベース構成も同じです。 【相違点】 開発(正常):PHP4.4.2(Apacheモジュールにて動作) 本番(異常):PHP4.4.1(CGI動作) エラーとなるのも、CSVのファイルの容量によって違います。 ちなみにFTPでのアップロードは開発・運用供正常にできています。 どなたかご教授お願いします。
- ベストアンサー
- PHP
- イベントビューアのアプリケーションログについて
Windows 2003 serverでの質問です。 サーバーの種類に限らないかもしれないですが、ASPプログラムを使用するサイトでglobal.asaを使用しております。 このglobal.asa内で使用できないサーバーメソッドを使用しておりイベントビューアのアプリケーションログで警告が出力されました。 ここまでは問題ないのですが、そのサイトを一度閉じてまたサイトを開き直すと、global.asaの処理がはしり、新たにイベントビューアのアプリケーションログで警告が出力されると思ったのですが出力されませんでした。 global.asaのファイルに更新をかけてサイトを開き直すとまた新たに警告が出力されるのですが、global.asaのファイルに更新をかけないと警告が出力されません。 global.asaの処理が動いていることは確認できるのでなぜイベントビューアのアプリケーションログに警告が出力されないか疑問です。 理由をご存知の方がいらっしゃいましたらご教授頂けると助かります。
- ベストアンサー
- Windows系OS
- Session_OnStartを見てくれなかったりする?
【したいこと】 セッション開始時に global.asa内のSub Session_OnStartでApplication.Contents("AAA")="111"を実行させる。 【起きている現象】 アプリケーションの起動時(ファイルを編集したりした後)にのみ、Sub Session_OnStartもしくは、Sub Application_OnStartを辿る(←これもまちまち)が、 その後、ブラウザを全て閉じても、global.asaを通ってくれない。 Sub Application_OnStart Application.Contents("AAA") = "" Sub End Sub Session_OnStart Application.Lock Application.Contents("AAA") = "aaa" Application.Unlock Sub End こんなかんじです。 ASPファイルからもApplication.Contents("AAA")にアクセスしていると考えてください。 情報が少なくて申し訳ありませんが なにか思い当たることがあればお願いします。
- ベストアンサー
- Microsoft ASP
- ASP VBS global.asa Session_OnStart内
ASP VBS global.asa Session_OnStart内でサーバーの環境変数取得 教えてください。global.asa内で環境変数って取得できるのでしょうか? 今までglobal.asaファイル内で直接書いていた文言を、環境変数から取得する、 というプログラム修正をしなければならなくなりました。 まず、VBSファイルを作成して、環境変数を取得することはできました。 その内容でそのままglobal.asaに記述すると、おそらく、環境変数が正しく取得できません。 このおそらくというのは、エラーが表示されないのです。 ただ、取得できていないので、その後の処理でエラーとなります。 環境は、 IIS 6 Windows2003server です。 いろいろ調べているのですが、いい回答が見つからず。 そもそも、global.asa内で環境変数を取得できるのかも分からず。 お願いします。
- ベストアンサー
- Microsoft ASP
- Global.asaxでクラスを宣言?
お世話になります。 ASP+VB6で開発した場合 Global.asaの冒頭で宣言した <object RUNAT = Server SCOPE = Application id=idName progid="dllName.ClassName" VIEWASTEXT></object> は、 ASP.NET2005ではどう宣言すればよいのでしょうか。 Global.asaxにPublicで宣言してもだめでした。 要は、1度だけ宣言しaspx各ページ全体で共通のクラスを利用したいだけです。 ネット検索および書店にも行きましたがどこにもそのような方法が見つけられませんでした。 本日ASP(.NET)を始めたばかりで、さっぱり判りません。 そもそも使い方が全く間違っているのでしょうか。 それとも、各ページで宣言しなければならなくなったのでしょうか。 よろしくお願いします。
- 締切済み
- Microsoft ASP
お礼
丁寧なご回答ありがとうございます。 現状ある各種フレームワークの特徴を評価してみようと思います。