外部のレンタルサーバ上でWEBサイトを公開しています。
WEBサーバ:Apache/2.4.33
PHPバージョン:5.6.36 (CGI版)
サイトルートのパスを$_SERVER["DOCUMENT_ROOT"]で取得し
以下のようにincludeしている箇所がいくつかあるのですが
PHP
1<?php 2$rt = $_SERVER["DOCUMENT_ROOT"]; 3?> 4<html> 5 <head> 6 <title>タイトル</title> 7 <?php include $rt."/common/head.php"; ?> 8 <?php include $rt."/common/css.php"; ?> 9 </head> 10 <body id="Top"> 11 [-略-]
サーバ変数の中身を確認してからプログラムを書いたはずですが
いつの間にか$_SERVER["DOCUMENT_ROOT"]の末尾にスラッシュが付いていて
include時のパスの中にスラッシュが2つ続いている箇所がある状態になってしまっていました。
※------------------------
$_SERVER["DOCUMENT_ROOT"]の値はサーバの設定次第だということだったので
サイト公開時より時間も経っていて、環境のアップデートもあったため
どこかのタイミングで変わってしまったのだろうと思っています。
------------------------※
// wwwの後にスラッシュが2つ続いてしまった → string() "/home/○○○(ユーザー名)/www//common/head.php"
しかしエラーログにも何も出力されず、正しくincludeもされています。
これはいったいどういう訳なのでしょうか?
パスの途中でスラッシュが2つ続いた場合どうなる、とハッキリ書いてある情報も見つからず
モヤモヤを残したまま、また、サーバ変数が再度変更された場合も考慮し
現在そのままの状態で放置しています…。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/23 01:14