SOY CMS / SOY Shop

ブログトップ

共有サーバでよくある話

2011年09月28日

 

共有サーバを借りていると

下記のようなことってたまにありません?

 

いきなりサーバの環境に変更があって、

サーバに入れてるWebアプリケーションが動作しなくなったよ。

 

こちらの不手際じゃないって分かってると言ってくれてるけど、

お客様のそういう気遣いが逆にいてーよ。

 

 

先日、

私が関わっているWebサイトでもそのようなことが発生しました。

 


 

突然電話がなって、

Webサイトが白くなって表示されないんですよ。

 

何か、

共有サーバの環境が変更になったという通知はありました。

 

とりあえず通知箇所に対応するように.htaccessを書き換える。

 

サイトは表示されない!

 

何だと!

他に変更箇所があるだと!

 

 

とりあえずCMS本体を調査してみると

どうやらSOY2DAOのところに問題があることが分かった。

SOY2フレームワークの解説 1回目 SOY2DAO(1/2)

SOY2フレームワークの解説 1回目 SOY2DAO (2/2)

 

SOY2DAOは

/**
 * @entity
 */

上記のようにコメント内にある@以下の内容を解釈しなきゃいけないので、

Reflectionクラスが利用できなくなったのか?

と判断しphpinfo()でサーバ環境を調べてみた。

 

とりあえず文字列検索でreflectionと入力してみたら、

速攻でReflectionの記述が引っ掛かった。

 

おいおい…

Reflectionクラスが使用できないことが原因じゃないのかよ!

 

そういや、

$obj = new Reflection()の箇所でエラーが出てなかったな。

 

その時点でReflectionクラスがあることに気付け!

 

 

とりあえず、

処理が止まっている箇所を引き続き探してみると

Reflectionクラスの関数を実行させてfalse

 

やっぱりReflection付近に問題がある。

 

 

もうわかんねーと思った時、

職場の人からeAcceleratorっていう

コメントの記述を無視してPHPの高速化を図る

という設定があることを教えてもらった。

 

早速php.iniでeaccelerator.enableの値を0にしてみたら

公開側ページも管理画面も表示されるようになった。

 

マジ、

こういう環境の変更があった場合に通知がないのは勘弁してよ。

 

原因を見つけるために3時間近くかかったよ…

 

 

いきなりSOY CMSが動かなくなったという時に

eAcceleratorの設定を調べてみると良いですよ。