ootaki

lolipopのアップデートをしたら動かなくなりました

0

lolipopのスタンダードプランのアップデートしました。
(ディスク容量: 120GB → 150GB、ストレージ: HDD → SSD)

アップデートが完了した旨のメールを受診し、movabletype(MT7-R4605)にアクセスした所、動かなくなりました。

下記のようなメッセージがでます。(最初の部分のみ)

エラーが発生しました: install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains: /home/users/2/lolipop.jp-dp_ _ _ /web/_ _ _/MT7-R4605/plugins/spamlookup/lib /home/users/2/lolipop.jp-dp_ _ _/web/_ _ _/MT7-R4605/plugins/WidgetManager/lib /home/users/2/lolipop.jp-dp_ _ _/web/sayamahills/MT7-R4605/plugins/...

このアップデートでは、下記が変更になったとのことです。

・現在の共有SSLのアドレスは利用できなくなり、ロリポップ!ドメインがSSL化されました。
・PHP7.3および7.4のみ利用できます。PHP7.1は利用できません。
・Perlのバージョンが5.30へ変わりました。また「/usr/bin/perl」のパスが利用できません。
・Rubyのバージョンが2.6へ変わりました。
・Pythonのバージョンが3.7へ変わりました。

どなたか、アドバイスお願いします。

大瀧雅寛(当方、専門外のMTユーザーです)

返信(5)

| 返信する
  • 素人なりに考えたのですが、Perlのパスが問題のようです。今までの「/usr/bin/perl」を、新しく「/usr/local/bin/perl」にしないといけないとのこと。mt-configを、どのように変えたらいいのでしょうか?

  • 自己解決しました。全てのcgiファイルの1行目を下記に書き換えました。
    #!/usr/local/bin/perl -w

  • 横から割り込み、失礼いたします。

    私もlolipopのスタンダードプランをアップデートしたため、
    MTフォルダ内のファイルで、「/usr/bin/perl」という表記を、
    すべて、「/usr/local/bin/perl」に変更したのですが、
    再構築しようとすると、ログに以下の様なエラーが表示されます。

    公開中にエラーが発生しました: パス('/home/sites/lolipop.jp/users/ciao.jp-aprilsnow/web/blog/archives/films')を作成できません: mkdir /home/sites/lolipop.jp/users: Permission denied at lib/MT/FileMgr/Local.pm line 157.

    ちなみに、拡張子が「cgi」以外にも、「pm」や「pod」とあるファイル内のパスも、
    「/usr/bin/perl」から、「/usr/local/bin/perl」に変更済です。

    Movable Typeのバージョンは、7.0.1です。

    どなたか、お気づきの点がありましたら、ご教示いただけないでしょうか?
    どうぞ、よろしくお願いいたします。

  • 同様の件で500エラーが発生し、早く対処せねばと慌てた結果、別の動いているCGIを徹夜で作り直すというとてつもなく面倒なことをした後ですが、解決策がみつかったので。

    ちなみに、ロリポップサポートに何度も連絡しましたがこの件の情報は一切ありませんでした。

    Perl5.22以降では、 defined(@array) および defined(%hash) は致命的なエラーになりました…という記述を発見。
    https://www.adam.ne.jp/support/troubleshooting/web02/

    ■jcode.plファイルの修正
    ----------------------------------------------------------------------------------
    この仕様変更によりPerlライブラリ jcode.pl はエラーを発生します。
    jcode.pl の682行目辺りのコードを次のように修正することでエラーを回避することができます。

    修正前
    sub z2h_euc {
    local(*s, $n) = @_;
    &init_z2h_euc unless defined %z2h_euc;
    $s =~ s/($re_euc_c|$re_euc_kana)/
    $z2h_euc{$1} ? ($n++, $z2h_euc{$1}) : $1
    /geo;
    $n;
    }

    sub z2h_sjis {
    local(*s, $n) = @_;
    &init_z2h_sjis unless defined %z2h_sjis;
    $s =~ s/($re_sjis_c)/$z2h_sjis{$1} ? ($n++, $z2h_sjis{$1}) : $1/geo;
    $n;
    }
    修正後
    sub z2h_euc {
    local(*s, $n) = @_;
    &init_z2h_euc unless %z2h_euc;
    $s =~ s/($re_euc_c|$re_euc_kana)/
    $z2h_euc{$1} ? ($n++, $z2h_euc{$1}) : $1
    /geo;
    $n;
    }

    sub z2h_sjis {
    local(*s, $n) = @_;
    &init_z2h_sjis unless %z2h_sjis;
    $s =~ s/($re_sjis_c)/$z2h_sjis{$1} ? ($n++, $z2h_sjis{$1}) : $1/geo;
    $n;
    }
    ----------------------------------------------------------------------------------
    これだけでは解決できず、続きに

    ■本体cgiファイルの修正
    ----------------------------------------------------------------------------------
    Perl5.26以降では、外部ファイルを読み込む際の検索パス(@INC)からカレントディレクトリ(.)が削除されました。
    この仕様変更によりカレントディレクトリのライブラリやモジュールが読み込めなくなる場合があります。
    スクリプトの先頭に次の2行を追加することで、検索パスにカレントディレクトリを含めることができます。

    #!/usr/local/bin/perl

    use FindBin;
    use lib $FindBin::Bin;
    ----------------------------------------------------------------------------------
    意味は全くわかりませんがこれで動くようになりました。また…

    以下の記載も発見。
    http://maru.cocolog-nifty.com/manabi/2006/07/jcodepl_utf8_021f.html
    -----------------------------------------------------------------------
    使用例
    here's some.

    jcode.plからの移行

    1."require 'jcode.pl';" となっている箇所をすべて "use Jcode;"に
    2."jcode::" となっている箇所を "Jcode::"に
    ほとんどの場合、これで十分なはずです。
    ----------------------------------------------------------------------- 
    しかしこれだけでは不十分で…

    jcode' → Jcode' ※「j」が大文字の「J」
    いずれも必要ファイル内を全置換します。
    ちなみにロリポップでは「jcode.pl」ファイルは不要で可動確認済みです。

    自分はとても慌てたので誰かの役に立てればいいなと。

  • 上記を参考にしても、症状は改善されませんでした。
    他に対処案等がありましたら、引き続き、ご教示いただけると幸いです。
    どうぞ、よろしくお願いいたします。

返信する


カテゴリグループ

106 23

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

フォーラムカテゴリー

21 76

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

291 839

最新のトピック: CustomFieldsSearchで (2021年7月21日 takaraism)

176 500

最新のトピック: MT7の投稿画面で使用済みタグの表示 (2021年9月21日 css)

409 1112

最新のトピック: 環境変数の設定「DisableResourceField (2021年8月 5日 mutsuka)

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