- 締切済み
IIS仮想ディレクトリでのみPHPが動かないです…
Windows2000ServerのIIS4.0+PHP4.4.4を動かそうとしています。 PHPのインストールを行いphpinfoが動作するのは確認できたのですが、IISで仮想ディレクトリを設定し、そのエイリアスでアクセスすると何故か404エラーが返ってきてしまいます。 「規定のWebサイト」に設定したルートフォルダにtest\aaaのフォルダがあるとして、 http://www.hoge.jp/test/aaa/phpinfo.php とルートから実フォルダ名で呼び出した場合はphpが動作するのに、 「~aaa」の名でフォルダにtest\aaaを設定した仮想ディレクトリを呼び出そうと http://www.hoge.jp/~aaa/phpinfo.php をアドレスに指定すると、HTTP404エラーが出てしまうのです。 同じ階層に置いたHTMLファイルはどちらの方法でも表示されます。また該当フォルダのIUSER権限はフルコントロール許可しています。仮想ディレクトリのアプリケーション設定で拡張子.phpの設定は何度も追加・削除を試しているし、都度IISの再起動も行っているのですが…。 何故普通に指定すると大丈夫で、新規追加した仮想ディレクトリではPHPが動かないのかよくわかりません。 もし何か解決策に思い当たる節がございましたら、どうぞ御教授ください。 ※投稿カテゴリがわからず、先日「運用・管理」カテゴリに投稿させて頂いたのですが、数日経ってもご回答頂けなかったため一旦削除し、こちらのカテゴリに再投稿させて頂きました。御了承下さい。
- Kusuki
- お礼率84% (22/26)
- その他([技術者向] コンピューター)
- 回答数4
- ありがとう数6
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- wcom
- ベストアンサー率0% (0/0)
追加します。php.ini内の doc_root = "C:/Inetpub/wwwroot" いろいろなページでIISの場合はこのように設定するとなってますが、 この設定を無効にしてました。(行頭に;)
- wcom
- ベストアンサー率0% (0/0)
約1年前の質問ですが、この度、同様の現象に遭遇しました。 ネットでそれらしい解決策は見つかりませんでしたので、いろいろとやってみたところ、php.iniの include_path = ".;c:/php/includes;c:/php/pear" を include_path = ".;c:\php\includes;c:\php\pear" に変更(/→\)したら動くようになりました。 環境はWindows2003Server IIS6 PHP5.2.6です。
- cbd_mei
- ベストアンサー率55% (143/259)
規定のWebサイト の プロパティの「ホームディレクトリ」の「実行アクセス権」 はおそらく「スクリプト及び実行可能ファイル」になっていると思いますが 作成された仮想ディレクトリの実行アクセス権は「スクリプトのみ」になっていないでしょうか。 その場合は「スクリプト及び実行可能ファイル」に変更すれば動くと思います。
お礼
ご回答ありがとうございました。 それが実は、ホームディレクトリ、仮想ディレクトリ共に実行アクセス権は「スクリプト及び実行可能ファイル」にしているのですが、何故かPHPのみ動かないのです(ASPは動いてますがこれはスクリプト権限だけで動くから関係なさそうですね;) アプリケーションのマッピングも何度か削除→追加を行っているのですが…。 まだ解決しておりませんので引き続き情報お待ちしています。(PHP側にエイリアス使用許可のような設定でもあるんでしょうか…??) もしどなたか「これは試した?」と言うものがありましたらゼヒお願いしますー。
- TA-HT81S
- ベストアンサー率39% (72/184)
IISの設定をご確認ください。 IISについてはさっぱりわかりませんのでApacheで説明します。 httpd.confの以下の部分を有効にします。 ただし、セキュリティ的に弱くなります。(有効なユーザ名がバレます) <IfModule mod_userdir.c> UserDir public_html </IfModule> <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory>
お礼
ユーザディレクトリの権限を各動作許すように指定する…と言う事でしょうか? ApacheはXAMPPでPHPごとまとめてインストールして使ったことならあるのですが、あまり理解できてなかったりします… ご回答ありがとうございました。
関連するQ&A
- IIS5の仮想ディレクトリが「ディレクトリの参照をチェック」しても表示されない
Windows 2000 Serverに付属しているIISを利用し、WebサーバとFTPサーバを構築しようと思っています。 その際、Webサーバの方で、あるフォルダの下に仮想ディレクトリを作成しました。 例えば、サーバのローカルルートパスが C:\issfolder\ だとして、その下に「test」というフォルダを作成し、 C:\issfolder\test というフォルダがあるとします。 http://サーバアドレス/test/ で表示した場合、ISSの設定より各フォルダのプロパティにて"ディレクトリの参照"という項目にチェックを入れてあれば、「test」というフォルダの下に存在する通常のフォルダやファイルは表示されると思います。しかし、「test」のフォルダの下に仮想ディレクトリを作成した場合、そのディレクトリの参照の一覧に仮想ディレクトリのフォルダが表示されません。 どうやらその仮想ディレクトリの名前にあたるパスを直打ちすると表示がされるようなのですが、「test」フォルダ下には相変わらず表示される気配はないようです。 同様のことがIISのFTPサーバでの仮想ディレクトリにも言えるようでどうにかして仮想ディレクトリも上位ディレクトリの"ディレクトリの参照"で表示させることが出来ないか悩んでいます。 何か方法はございますでしょうか? よろしくお願いします。
- 締切済み
- Windows NT・2000
- IIS7.5 Express で仮想ディレクトリ
今まで WinXpPro SP3 + IIS5.1 + VS2010 を使用していたのですが IIS5.1 を IIS7.5Express に切り替える場合、どのように設定すれば 仮想ディレクトリは追加できますか? IIS5.1 は UI が判りやすくていいのですが IIS7.5 Express は 設定ファイルを編集して制御するので、設定方法が わからず困っています。
- ベストアンサー
- Microsoft ASP
- IISの仮想ディレクトリ設定
IISの仮想ディレクトリ設定について分かる方がいましたら教えてほしいんですけど、今ある物理ディレクトリをIISの仮想ディレクトリとしてマッピングさせて(物理ディレクトリにはイメージデータが入っています)ブラウザから直接イメージデータのファイル名を指定することで表示させるようにしたいのですが、IISでの仮想ディレクトリマッピングが分からなくて困っています。 そこで質問なのですが 1.そもそもIISでこのようなことは可能でしょうか? 2.できるのならばどのように設定すればよいでしょうか? 3.できないのならば何か方法はないでしょうか? 以上ですがよろしくお願いします
- ベストアンサー
- その他(インターネット接続・通信)
- IIS+PHP スクリプトから仮想ディレクトリが参照できない
教えてください。 IISでWebサーバーを構築しています。ブラウザからは仮想ディレクトリを参照できるのですが、PHPのスクリプトから参照できません。 やりたいことはPHPのスクリプトの中でdir関数などを使用して、仮想ディレクトリの中のファイル一覧を取得することです。 どなたかわかる方、教えてください。
- 締切済み
- PHP
- IIS6.0で非公開ディレクトリ
IISでプログラムを動かすときに、非公開ディレクトリに設置せよとありますが、 どのようにして非公開ディレクトリを作成するのでしょうか? 通常仮想ディレクトリ直下=ドメインルートディレクトリとして、 設定しますが、あるプログラムだけ外部から見えないようにしたいです。 testweb.com/hikoukai/ のような感じになるのでしょうか?
- ベストアンサー
- Windows系OS
- IIS仮想ディレクトリの設定について
仮想ディレクトリを指定するとき、別のコンピュータのディレクトリを指定するとIIS管理画面に赤色でErrorマークが付きます。 ディレクトリ対象のフォルダーは当該サーバーから問題なく参照できるし、アクセス権限はeveryone,fullcontrolです。また、ディレクトリ設定時に認証用のID,PWは当該サーバのユーザのものですがAdministratorではありません。 Errorマークを消して正常にアクセスできるためのアドバイスお願いいたします。
- 締切済み
- Windows系OS
- IISでPHPを動かしたいのでIISの設定しています。
IISでPHPを動かしたいのでIISの設定しています。 概定のWEBサイトのプロパティ⇒ホームディレクトリー⇒構成⇒マッピング⇒追加でアプリケションの拡張子マッピングの追加/編集で「OKボタン」がグレーになります。どうすれば追加できるでしょうか。
- ベストアンサー
- ネットワーク
- IISの設定について
IISより仮想ディレクトリを設定し、仮想ディレクトリ内で持っているHTMLファイルを参照しようと思うのですが、500エラーとなりうまくファイルを参照することができないため困っております。 仮想ディレクトリは、IISが立っているサーバとは別のサーバの共有フォルダを参照しております。 また、IISが立っているサーバ、参照先となる別のサーバは、WORKGROUPとなっております。 権限によるエラーでは?と思っているのですが、どなたか解決方法をご教授頂けないでしょうか。 よろしくお願い致します。 ブラウザでテストした時のURL http://reffolder/index.html ※reffolderは仮想ディレクトリとなります。
- ベストアンサー
- その他(Windows)
- IISのルートディレクトリをアプリケーション化
IIS7.5でルートのinetpub\wwwrootをアプリケーション化し、aspxを動かしたいと考えています。 (1)サブディレクトリHogeを作ってdefault.aspxをおく→仮想ディレクトリにしてアプリケーション化→○○/Hoge/Default.aspxを動かす。これは簡単。 (2)ルートにdefault.aspxをおく→「ルートを仮想ディレクトリにしてアプリケーション化」→○○/Default.aspxを動かす。これは困難! 上記の「ルートを仮想ディレクトリにしてアプリケーション化」はどのようにすれば実現できるのでしょうか?それとも、そもそも不可能なのでしょうか? ご存知の方がおられましたらよろしくお願い申し上げます。
- ベストアンサー
- Windows系OS
- IIS6.0で、PHP5 Mysql4.1の環境構築がしたい!!
IIS、php5、mysql4.1のインストールも終わり、 phpもちゃんと動作しているんですが、 なぜか、mysqlとphpの連結がうまくいきません、 同じ風にxpで、IISの代わりに仮想的にApacheで環境を作ったんですが、そっちはうまく動いています、 なぜか、2003serverのIIS6.0で環境を作るといきなりphpが、 mysqlを認識してくれません。(phpinfoで確認済) ODBCですか? 因みに、libmysql.dll php5ts.dll はあるべき場所にあります。 php.iniもmysqlの;も取って、有効にしているんですが・・・ ヒントでも結構です。是非ご教授ください。
- 締切済み
- Windows系OS
お礼
長らくお礼が申せず申し訳ありませんでした。 体験談をありがとうございます。 php.iniでWindows用は記述が違うとかはありそうですね…! 現場を離れてしまったため、実際に試す事が敵わないのが残念です。 wcomさん、ありがとうございました。