【開けてビックリ】 PHPのinclude ができなくなった

【注】
現在は、PHPでのテンプレートの読み込みをやめ、SSIでテンプレートファイルを読み込んでいます。
(詳しくは 【難問解決】 SSIのインクルードで圧縮できるか実験してみた をご覧ください)


前のページで書いたように、何度も設定は見なおしましたし、色々と調べ直しもしてみました。
後は、DNSの書き換えが浸透するのを待つだけ。。。
なかなか書き換わらないDNSにヒヤヒヤしつつ、眠れぬ夜を過ごすことになった私。

そして次の朝。
ついにDNSの書き換えが完了しました。
でも、目の前に現れたのは衝撃的な光景でした。

サイトがほとんど表示されてない件

ブラウザでアクセスしたサイトは、ほとんど何も表示されていませんでした。
トップページはリンクと画像だけ。
普通のページに至っては、タイトルしか表示されていない始末。

何故?
オロヽ(´Д`ヽ ミ ノ´Д`)ノオロしながら理由を探すうちに、私はとある結論に達しました。

includeできていない!:(;゙゚'ω゚'):

PHPinclude(インクルード)とは、指定したファイルの 『 中身 』 を挿入し、そのファイル一部として表示するPHPコードを使った便利機能です。

例えば、ヘッダーやサイドバーなどの部品用ののファイルを、とあるPHPファイルにincludeすると、アクセスした際にそれらのファイルの中身を自動で突っ込んで表示してくれます。

ページ数が多くなってくると、メンテナンスが大変になってきます。
ほんの一部を変えるだけでも、全ページを変更しないといけません。
確かに、文字列一括置換ソフトを使うと楽にはなります。

でも、1,000ページ以上の転送となると大変ですし、変更の度にこんな苦労をし続けるのはあまりにも効率が悪いです。

そこで、phpのインクルードコードを使ってテンプレート化して作業効率をUPさせているのですが、そのテンプレートが読み込まれなくなってしまったのです。
(記事本文まで表示されなくなったのは、恐らく、<head> まで全部テンプレート化してしまっていたからだと思う)

私はてっきりヘテムルでincludeできているので、さくらのレンタルサーバでもそのままincludeできるものだと思っていました。

最悪でも、htaccess ファイルを一部書き換えることで、includeできるのではないかと思っていたのです。

でも、現実は私の想像を遥かに超えていました。。
さくらインターネットは、そのままだとincludeが効かない設定になっていたのです。

そんなわけで、さくらインターネットのレンタルサーバーでincludeがをするためにはどうすれば良いのか調べてみました。

すると、それをうちのサイトたちに適用するには膨大な時間がかかるようでしたので、またしても、ネームサーバーの設定を一旦ヘテムルに戻すことにしました。

そして、ネームサーバーを変更してから、3〜4時間でサイトはヘテムルに戻りました。
早くにヘテムルに戻ったのは、不幸中の幸いでした。
(不幸というか、身から出た錆と言う説が濃厚)


【実験開始】 さくらインターネットでinclude

とりあえず、さくらインターネットでインクルードする方法について調べてみました。
すると、さくらの公式HPにて、SSIを使って擬似PHPインクルードを行う方法について書かれてありました。


でも、その方法は、管理人的には非常にアレな感じなので(ズボラ管理人は見ただけで拒絶反応)、これは使わないことにしました。

ならば!
と言うことでさらに調べを進めていくと、WEBサイトやブログ用の wwwフォルダ よりもずっと上の階層にある php-cgi を使えば、上手くインクルードできることを知りました。

また、PHPのインクルード用のコードも、別のコードに置き換えれば代用可能だと言うこともわかりました。

そして、度重なる実験の結果、私は確実で簡単にインクルードできる方法を見つけ、それを実行に移すことにしたのでした。
(最早、何度目の正直かすら分からない状態)


次ページ

【ついに完成】 さくらでもincludeをする方法

前ページ

【サイトがふっとんだ】 ネームサーバーの変更でドボン

広告