nai

サーバーと階層を変更したら稼働しなくなった

0

サーバーと階層を変更したら下記のエラーが出て稼働しなくなってしまいました。

Got an error: Can't load Locale::Maketext::Guts
Aborting

MT5.04です。
リニューアルに伴い一般公開用ではない階層に移動したのですが、
上記エラーにより、ログインフォームすら表示されない状態になってしまいました。

サーバーログには
client denied by server configuration
と出ていますが、簡単なCGIは動作しているので、パーミッションやサーバーでCGIが動作しないなどの問題ではないようです。

どのような解決法があるのか、ご教示いただけると助かります。

返信(5)

| 返信する
  • >naiさん
    エラーの内容より、Locale::Maketext::GutsというPerlモジュールがMTのプログラムから読み込めていないようです。「簡単なCGI」は、このモジュールを読み込んでいないので動作していると思われます。
    MTではextlibディレクトリ配下に該当モジュールは存在するようです。
    extlib/Locale/Maketext/Guts.pm

    まずはMT内のプログラムやプラグインで、このモジュールを使っている処理がないか、grep等で探すことでしょうか。
    mt-config.cgiに
    DebugMode 1
    を追加して管理画面にアクセスすれば、もう少し詳細なエラーが標示されるかもしれません。

    また可能であれば、切り分けのために移動した階層を元に戻して動作することを確認した方がよいと思います。

  • > yujiroさん
    ありがとうございます。

    当初はmt-check.cgiも500エラーになっていたのですが、
    こちらは何とかエラーは出なくなったのですが、
    やはり、Maketext(メッセージの言語変換でしょうか?)が動作していないのか
    下記のような言語変換前のメッセージが表示されてしまいます。

    <__trans phrase="System Information">
    <__trans phrase="Movable Type version:"> 5.04
    <__trans phrase="Current working directory:"> /var/www/home/admin/********/public_html/********/html
    <__trans phrase="MT home directory:"> ./
    <__trans phrase="Operating system:"> linux
    <__trans phrase="Perl version:"> v5.26.3
    <__trans phrase="Perl include path:">
    extlib
    lib
    /usr/local/lib64/perl5
    /usr/local/share/perl5
    /usr/lib64/perl5/vendor_perl
    /usr/share/perl5/vendor_perl
    /usr/lib64/perl5
    /usr/share/perl5
    <__trans phrase="Web server:"> Apache
    <__trans phrase="(Probably) Running under cgiwrap or suexec">
    
    

    <__trans phrase="[_1] [_2] Modules" params="Checking for%%Required">


    これを見る限り、Perl include path はextlibにも通っているように見えますが、
    読み込めていない理由など、わかりませんでしょうか?

    よろしくお願いいたします。

  • おっしゃるとおり、maketextのみ動作していないように思われます。

    推測ですが、新しいサーバのPerlで、ご利用のmaketextのバージョンがサポートされていないかもしれません(MT5.04のLocale::Maketextは1.13ですが、最新版のMTにバンドルされているLocale::Maketextのバージョンは1.28になつています)。
    よって、サーバのPerlバージョンでは、MT5.04が正常に動作しないかもしれません。
    あとは、サンプルでmaketextの動作を確認して、動作しなければLocale::Maketextをバージョンアップしてみることでしょうか。

    よろしくお願い致します。

  • > yujiroさん
    ありがとうございます。

    Locale::Maketextを1.31にバージョンアップしてみました。
    とはいえ、FTPで最新版をアップしただけですが、、、

    結果、mt-check.cgi は以前のままで、エラーには
     Can't call method "translate" on an undefined value
    とあり、translateメソッドが無いといった状態のようです。

    Locale::Maketext内にはtranslateは無かったのですが、
    これは、どういったことなのでしょうか?
    初歩的な質問になってしまい申し訳ないのですが、ご教示ください。


  • 反応遅くなってすいません。

    translateはMT(MT.pm)の中にある関数で、そこからmaketextを実行しています。事象が変わったということでしょうか?

    これまで貼り付けて頂いているのはすべてmt-check.cgiの実行結果と思われますが、そのCGIでMTのライブラリが認識できていないようにみえます。

    mt.cgiも実行できない状態でしょうか。

    解析が困難であれば、MT5のサポートが切れているため、ウェブ制作会社等に依頼された方がいいかもしれません。

返信する


カテゴリグループ

106 23

最新のトピック: test (2019年5月29日 sato)

フォーラムカテゴリー

21 76

最新のトピック: 公開終了日の取り消し (2013年10月18日 gsk)

177 505

最新のトピック: Category (2022年1月16日 Mark)

413 1117

最新のトピック: edgeで制作時に保存が適用されない (2022年4月 1日 reddiamond)

OpenID対応しています OpenIDについて