さくらVPSでCenOS5.5のサーバにPHP5をモジュールでインストールし、PHP4をCGIとして起動できるように共存化しています。php4で動かす場合、PHPファイルの拡張子を.php4にすると動作します。


ここまでは問題ないのですが、特定のディレクトリでphpの拡張子をphp4として動かしたいと思い、
.htaccessに「AddHandler php4-script .php」
と書いたのですが、切り替わらずにエラー(画面が真っ白)になりました。
(※htaccessは動作しますし、設置ディレクトリのAllowOverrideはAllになっています)

他、「AddType application/x-httpd-php4 .php」とも書いてみたのですが、
.phpファイルにアクセスすると、PHP5として認識されます。

過去のはてな質問である
http://q.hatena.ne.jp/1206609353
を見ましたが、それでも解決しません。

拡張子phpでphp4のファイルとして動かす方法があれば教えてください。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/11/11 16:28:30
  • 終了:2010/11/12 16:23:57

回答(2件)

id:tasklight No.1

tasklight回答回数323ベストアンサー獲得回数402010/11/11 16:42:18

まず、httpd.conf または .htaccess に下記の設定があることを確認してください。

Action php4-script {CGI版PHP4があるディレクトリ}
AddHandler php4-script .php4
id:kt26

インストールしたサーバを見ると、PHP4もモジュール版でインストールしていました。

それで、/etc/httpd/conf.dにphp4.confを作成し、以下の通り指定しています。

LoadModule php4_module modules/libphp4.so

AddType application/x-httpd-php4 .php4


AddTypeを.htaccessで「AddType application/x-httpd-php4 .php」と指定すれば

目的通りになるかと思ったのですが、やはり無理でした。


自分ではCGI版をインストールしたと思い込んでいたので、モジュール版をインストールしたら動かないのかも知れませんが、もしモジュール版でも切り替え可能な場合は回答お願いします。

2010/11/12 00:10:17
id:tasklight No.2

tasklight回答回数323ベストアンサー獲得回数402010/11/12 07:48:23

インストールしたサーバを見ると、PHP4もモジュール版でインストールしていました。

それでは、ご質問のような動作をさせることは不可能です。

PHP4/PHP5の切り替えがうまく行っていること自体、偶然だと思います。


PHP4はモジュール版をインストールし直してください。

id:kt26

回答の意味が良くわからないのですが・・。

PHP4のモジュール版をインストールして動作できているのは偶然で、

PHP4のモジュール版をインストールし直すんですか?

じゃ、また”偶然”になるのでは?インストールし直す意図が分かりません。


PHP4/PHP5どちらもモジュール版なら切り替えできないという明確なソースや情報があるのなら理解できますし、CGI版じゃないと無理というなら質問した意味もあります。しかし、そのような回答をいただいても理解できません。

2010/11/12 16:20:14

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません