web-dev-qa-db-ja.com

古くなったインストールとホストphpのアップグレードによりウェブサイトが壊れました-手動で移行/アップグレードする方法は?

父は姉妹の中小企業向けのWebサイトを管理していますが、最近彼はログインできず、Webサイトには空白のページしか表示されません。私の端を少し掘り下げたとき、私は彼のホストがPHP 7にアップグレードされ、Joomlaのバージョンが元のインストールバージョンを超えてアップグレードされたことがないことを発見しました(3.4またはそれよりもさらに低い可能性があると思います、しかし、間違いなく3.x)。

エラーを表示するように構成ファイルを編集しましたが、ホームページに次のエラーが表示されます。

致命的エラー:12行目の/home/[username]/public_html/libraries/vendor/joomla/registry/src/Format/Json.phpの「String」は特別なクラス名であるため、Joomla\String\Stringを文字列として使用できません

グーグルから、これはJoomlaの古いバージョンとPHP 7の間の競合が原因であると思われますが、phpエラーのために管理者領域にアクセスできなくなったため、アップグレードできません。ホストは古いバージョンのPHPを使用可能にしていません。サイトのコピーをダウンロードしてデータベースのバックアップを作成したので、必要に応じてフレッシュインストールを実行できますが、コンテンツを古いバージョンから新しいバージョンに移行する方法がわからないこと。

私はサイトの古いバックアップを使用してAkeebaバックアップを試しましたが、それはJoomlaの古い壊れたバージョンを含むすべてを復元しただけです。サイトを最初からやり直す以外に、他に方法はありますか?手動アップグレードを試しましたが、すべてのファイルを上書きした後も、管理者領域にアクセスできませんでした。

2
Dekks

以前のバージョンのPHPに戻し、Joomlaサイトを最新レベルにアップグレードしてから、PHP 7.xに戻すことをお勧めします。

ウェブサイトのホスティングアカウントにログインする場合、オプションを探してPHPアカウントのレベルを変更します。cPanelホスティングアカウントの下では、PHP SelectorまたはMulti-PHPと簡単なGoogle検索で、Pleskアカウントのチュートリアルがいくつか表示されました。

または、ホスティング会社に依頼して、Joomlaのインストールを最新にしながら、アカウントを7.xより前のレベルに戻すことができるかどうかを確認することもできます。他のすべての顧客ではなく、サイト/アカウントにのみ影響します。

私の経験では、ホスティング会社によって設定されたPHPのデフォルトレベルがあります。別のレベルのPHP your PHPは、ここで起こったように彼らのスケジュールでアップグレードされます。これを変更して、PHPのデフォルトレベルをもう使用しないようにすることができます。 PHPの次のレベル。

PHP SelectorとMultiPHPは2つの異なる製品であり、Niceホスティングパネルには使用したいものだけが表示されますが、両方が表示される場合は、どちらが影響するかを調べるか、ホスティング会社のサポートに再度問い合わせる必要があります。 PHPレベルを後退させます。

2
Irata

最終的に、最新バージョンのJoompaをワイプしてインストールし、記事を最初から作成し直し、画像ギャラリーデータベースと画像ファイルをバックアップからインポートしました。サイトに複数の記事がある場合、wampを使用して環境のローカルコピーをインストールし、そこにJoomlaをアップグレードしてホストに再アップロードするというZollieの提案は、最善の解決策のように思われ、おそらくより迅速です。

0
Dekks