PHP.ini、.htaccess、そして SSH

 2011/10/12(水) 00:00  

エラー検証

ウェブサイトを制作するためには様々な知識が要求されます。
もっとも基礎的なところでいえば、HTMLとCSS。HTMLだけでも一応ページ作成は行なえますが、どうしても古いテイストのデザインとなってしまいますので、今やCSS無しのサイト創りは考えられません。

当サイトでご紹介している「Joomla!」は、PHP言語を中心に構築されており、ページ作成に必要となる上記の要素に加え、システム的なケアを要求される場合があります。

Joomla! にインストールして使用するエクステンションの中には、PHP の仕様をカスタマイズしないと動作しない(又は、一部の動作に支障をきたす)ものが稀にあります。

php.ini

PHP は「php.ini」というファイルによって基礎的な仕様がコントロールされているのですが、この php.ini を編集する(または「.htaccess」というファイルを編集する)ことで、そのエクステンションの求める仕様にするのです。しかし、このファイルを初めて開く方にとっては、ただの暗号のように見えるかもしれません(笑)。

Joomla! をシンプルに使用している内は、このような仕様面が問題になることはほぼありませんが、高度なエクステンションを利用するようになると、また複数のエクステンションを利用するようになると、「php.ini」や「.htaccess」についての知識が求められる場面が増えていきます。
(NOTE: 大元の php.ini を変更するとサーバ全体のPHPの動作に影響が及ぶので、共有サーバでは編集させないところが多いです。高度なエクステンションを扱うためには、サーバを VPS 以上にする必要が出る場合があります。)

先日、某ウェブサイトで使用しているエクステンションをアップグレードしたところ、予期せぬエラーに見舞われるようになるという事件(?)が発生しました。なんと、ウェブページが「白紙」になり、まったく何も表示されなくなってしまったのです。まさかの事態に本当に焦りました。

こういう事態に見舞われた時、何が原因かを特定するのは容易ではありません。
とりあえず変更や追加をしたファイル等をひとつひとつ点検していくことから「要因の候補をつぶしていく」のですが、一筋縄ではいきません。考え得る全ての仮説を立て、その検証を続けていくしかないのです。

今回のエラーの原因は、各ファイル/ディレクトリ(フォルダ)の「所有者/グループ」設定が、何らかの理由で誤った設定に変更されてしまっていたからでした。しかもあるエクステンションが利用する、ただひとつのディレクトリだけが「特定の設定をしなくては動作しない」というまさかのオチでした。

SSH

これの原因が特定出来たのは、SSH でサーバにアクセスし、コマンド「ls -l」で「所有者/グループ」設定が確認出来たからです(共有サーバではこのような事は通常行なえません)。

これを発見し、ついにページが白紙となる問題は解決したのでした。

こういった問題を解決するには、もちろん知識も重要ですが、何よりも「発想力(仮説と検証)」が必要だと思います。発想力があれば、適切な「検索キーワード」で解決策のヒントとなる記述があるウェブサイトに辿り着く確率も高まります。また「絶対に解決出来る!」という信念と根気が必要でしょう。

エラーが起こるのは嫌ですが、エラーを解決する度、エラーから様々な事を学ばされます。もしかするとエラーは勉強をさせてくれる有り難い存在なのかもしれません。

初めてのご利用ですか? ご登録はこちら!

ログイン