- 締切済み
include_pathに関する質問
ローカル環境で、PHPの動作確認をしています。 サイト内のサイドバーなどをincludeしているんですが、ディレクトリ毎にパスを変更するのはとても手間がかかるため、.htaccessにinclude_pathの設定をして、「/」から始まる絶対パスで統一したいと考えております。 しかし、.htaccessでinclude_pathを設定して、include '/sidebar.php'; と書いても、includeすることができません。 なぜでしょうか? ちなみに私の作業環境なのですが、ローカルでPHPを動作させる場合は、私の場合は次の場所にファイルを保存することでブラウザから http://localhost/ にアクセスすることで確認することができます。 C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/ そして、複数のサイトを運営しているため htdocs の下に example.com というディレクトリを作って、サイトを管理しています。 example.com というサイトの動作確認をする際は、ブラウザから http://localhost/example.com/ のようにアクセスします。 そして、.htaccessには次のように記述しました。 ―.htaccess php_value include_path ".:C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/example.com" ―index.html <?php include 'sidebar.php'; ?> include_pathの設定の仕方がよく分からず、最初は http://localhost/example.com と設定してみましたが、上手くいかなかったので上記のように設定しました。 ローカルでのテストが終わったら、サーバーにアップロードする際に、.htaccessを書きなおしてからアップロードする予定です。(書きなおすのは非常に面倒ですが、他に方法が分かりません。何か良い方法があれば教えていただきたいです。) 以上長文になりましたが、よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- mpx
- ベストアンサー率71% (149/209)
>> htaccessでinclude_pathを設定して、include '/sidebar.php'; >> と書いても、includeすることができません。 >> なぜでしょうか? 絶対パスで、sidebar.phpをインクルードしているので、include_pathの設定が無意味です。 include 'sidebar.php'; とするか include './sidebar.php'; としてみてください
お礼
include 'sidebar.php'; としても include './sidebar.php'; としても表示されませんでした。 それよりもDreamweaverで管理していたサイトの一部をPHPでインクルードしようと思って、メインテンプレートに <?php include './sidebar.php'; ?> と書いて更新したところ、すべてのページが文字化けになってしまい、バックアップから復帰させるはめになりました……。 .htaccessの設定は php_value include_path ".:C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/example.com" でよろしいのでしょうか?