Perl がバージョンアップされデータベースが読めない

レンタルサーバなどで Perl がバージョンアップされ、データベースに接続できなくなった場合の対処方法を解説します。作業が終わるまでデータベースに接続できない旨の警告が表示され続けますが無視してください。またこの作業はマスターパスワードでのみ実行できます。

旧バージョンの Perl でバックアップを作成し、新バージョンの Perl でデータベースを削除した後、バックアップを復元します。

  1. サーバの管理者に旧バージョンの Perl が残されていないか確認します。多くの場合、新バージョンへの移行のために旧バージョンの Perl が用意されています。旧バージョンの Perl が残されていない場合、旧バージョンの Perl 環境を用意するよう依頼します。旧バージョンの Perl のパスを確認します。
  2. "/cgi/setup/start.cgi" を開き1行目の Perl のパスを旧バージョンの Perl のパスに書き換えます。
    #!/usr/bin/perl
    旧バージョンのパスが "usr/bin/perl-5.6" の場合下記のように書き換えます。
    #!/usr/bin/perl-5.6
  3. "/cgi/setup/start.cgi" にブラウザでアクセスします。
  4. データベース・設定 のバックアップ」を選択します。
  5. 「対象」として「全てのデータ」「全ての初期設定」および各サブディレクトリの「全ての初期設定・データ([サブディレクトリ名])」を選択し「処理」を「バックアップ作成」にして「実行」します。バックアップの量が多過ぎてエラーが返る場合は、対象を絞って少しずつ実行します。
  6. "/cgi/setup/start.cgi" を開き1行目の Perl のパスを新バージョンの Perl のパスに戻します。
  7. "/cgi/setup/start.cgi" にブラウザでアクセスします。
  8. データベース・設定 のバックアップ」を選択します。
  9. 「対象」として「全てのデータ」「全ての初期設定」および各サブディレクトリの「全ての初期設定・データ([サブディレクトリ名])」を選択し「処理」を「データベース削除」にして「実行」します。
  10. データベース・設定 の復元」を選択します。
  11. 「復元可能なデータ」のうち「全てのデータ」「全ての初期設定」および各サブディレクトリの「全ての初期設定・データ([サブディレクトリ名])」について、「バックアップを復元」を選択し、「完全上書き」のチェックを入れ、「実行」します。設定を復元する量が多過ぎてエラーが返る場合は、対象を絞って少しずつ実行します。
  12. これで CMONOS.JP の全ての CGI が、新バージョンの Perl の下でもそれまでと同じように動作します。