Concrete CMS(concrete5)

ブロック追加時のエラーの原因と解決法

とあるブロック追加時にエラーに遭遇したので覚書。
キャッシュでクリアできる場合もあるんですけど(その際の解決法はこちら)、今回キャッシュが原因じゃないぞということでした。

エラーメッセージは

Warning: require_once ~
Fatal error: require_once() ~

というWarningとFatalのコンボ。ファイルが開けない、ファイルが見つからないエラーだそうです。(参考:PHPのエラーメッセージ一覧
でもどこをどうみてもそのファイル名がど~~~~しても見つからなくって、更にローカル環境では動く。ローカルでは動くのにアップすると上記エラー。

何でかなと思いローカル環境でファイル名を検索したら見つかったわけですよ、xampp/php/PEARの中に!!

結論としてはインストールしようとしていたブロックがPEARを呼び出す動きをしていて、尚且つアップ先の環境にPEARがインストールされておらずパスが通っていなかった。
ずっとconcrete5内を探していましたわ…phpMyAdminでも検索かけてみたのに。やられた!
そのあとFatal error: Class 'クラス名' not found in …というerrorが出たけどこちらはキャッシュのクリアで解消されました。
多分worningとかでパスが通ってなかったときの情報を読み込んでいたからだと思われます。

  • この記事を書いた人

ゆず

忘れないように自分の覚書と、誰かも困っているかもしれないので参考になればいいなくらいの軽い備忘録です。
一杯おごる

-Concrete CMS(concrete5)