#author("2017-01-28T18:23:09+09:00","","") #author("2017-01-28T18:26:09+09:00","","") **CGI版PHPで動作させるには [#x4a41b4c] #contents ** 一般的な設定 [#o35286bb] .htaccess - ハンドラーがサーバーに設定されている場合 RewriteEngine on RewriteCond %{REQUEST_FILENAME} "\.php$" RewriteCond %{REQUEST_FILENAME} !-f RewriteRule .* - [R=404,L] <FilesMatch "\.php$"> AddHandler php-script .php </FilesMatch> - 共有サーバーで php.cgiとハンドラーを自前で設定する場合 RewriteEngine on RewriteCond %{REQUEST_FILENAME} "\.php$" RewriteCond %{REQUEST_FILENAME} !-f RewriteRule .* - [R=404,L] <FilesMatch "\.php$"> Action php-script /php.cgi AddHandler php-script .php </FilesMatch> apache設定で定義する場合 Action php-script /fullpathto/php.cgi 以下のような設定は必要ありません。 ***pukiwiki.ini.php [#oe1d46c5] ~CGI版PHPで動作させる場合は、pukiwiki.ini.phpの中の ///////////////////////////////////////////////// // index.php などに変更した場合のスクリプト名の設定 // とくに設定しなくても問題なし //$script = "http ://hogehoge/pukiwiki/"; の部分で $script = "http ://hogehoge/pukiwiki.php"; という形で必ず記述しておく必要があります。 ~hogehogeの部分はあなたがpukiwikiを設置するディレクトリまでのパスを記述します。pukiwiki.phpの部分は、pukiwiki.phpをindex.phpなどにrenameしている場合は、変更したファイル名にします。1.4.7だとデフォルトでindex.phpなのでpukiwiki.phpではない事に注意。CGI版PHPで動作させる場合はファイル名まで指定しておく必要があります。 ***その他 -- 特殊な例 [#e6e254c6] ~一部のサーバーでは、CGI版PHPで動作させるためには、各スクリプトの先頭行で #!/usr/local/bin/php と記述し、スクリプトの拡張子をcgiに変更しなければならない場合があります。 ~また、suEXECが動作するサーバーでは、cgiが設置者のユーザー権限で動作するため、各ディレクトリのパーミッションを755→705、777→707に、各ファイルのパーミッションを644→600(604)、666→600(606)((普通の suEXEC だと 707,606 では他人に書き込み権限があるため実行できないのでは?それぞれ、705,605 となると思います))に変更しないとセキュリティチェック機能によりパーミッションエラーを起こす場合があります。 ~一部のサーバーでは、cgiが特定のディレクトリでしか動作しないように設定されている場合があります。 // サービス終了につき削除 //***aaacafe無料ホスティングサービス [#h0b58c0d] //***infoseek有料ホスティングサービス [#vb91a055] **CGI版PHPでPukiWikiを動作させる場合の制限事項 [#j0a9911e] ***BASIC認証は出来ません [#f04bd248] ~PHPの制限により、CGI版PHPではPHP経由でBasic認証ができません。(詳しくは、[[PHP による HTTP 認証 - PHP Manual>http ://jp2.php.net/manual/ja/features.http-auth.php]] へ)&br;このため、PukiWikiのユーザー認証が使えなくなります。 -[[cubic9.com:PukiWiki/質問箱の整理#content_1_11]] --[[.htaccess]]によるディレクトリ単位等の制限か自前でcookieによる認証を施すかしかないでしょう。 -[[自作プラグイン/login.inc.php]]を作ってみました。 -- [[pikky]] 2007-05-10(木) -[[続・質問箱/198]]に mod_setenvif を利用して Basic 認証を可能にする方法があります.