サイトをサーバーから別のサーバーに移動するにはどうすればよいですか?


7

Drupal 8サイトを移動しようとしていますが、次のエラーが発生します。

Webサイトで予期しないエラーが発生しました。後でもう一度やり直してください。

InvalidArgumentException:クラス「\ Drupal \ system \ Controller \ Http4xxController」が存在しません。Drupal \ Core \ DependencyInjection \ ClassResolver-> getInstanceFromDefinition()内(core / lib / Drupal / Core / DependencyInjection / ClassResolver.phpの29行目)。

Drupal 8サイトをサーバーから別のサイトに適切に移動するにはどうすればよいですか?

データベースのインポート、ファイルの移動、データベース接続設定の変更を行いました。



1
OPは、Drupal 8サイトをサーバーから別のサーバーに移動することについて話しているのではなく、Drupal 7サイトをDrupal 8に移行することについて話していません
。– kiamlaluno

環境を切り替える前にキャッシュをクリアしましたか?移行はファイルとデータベースの転送と同様に簡単で、settings.phpを更新する必要があります。これらのエラーは通常、更新後にキャッシュをフラッシュしないと発生します
nizz0k

また、人々は本当にこれを支持していますか?タイトルは...非常に一般的であり、エラーが有用である場合、質問はタイトルにそれを持っている必要があり、ここでは何度も上の対処されている
nizz0k

回答:


10

簡単に言えば、DrupalのWebサイトをあるホストから別のホストに移動するには、ファイルとデータベースを移動してから、2つを接続するだけです。

ただし、考慮すべき点がいくつかあります。

  1. サーバー環境は、可能な限り互いに近づける必要があります。このようにして、運用サーバーと開発サーバーで異なるソフトウェア/構成を使用した結果として発生するエラーを回避します。PHPバージョン、MySQLバージョン、Apacheモジュール、およびこれらすべてのコンポーネントの設定を比較します。

  2. ファイルの権限を適切に設定する必要があります。私はこの数十回に起因する問題を見てきました。つまり、Apacheユーザーは、Drupal Webサイトにアクセスして操作するための十分な権限を持っている必要があります。そうしないと、ファイルの書き込みや読み取りができない場合があります。正しいファイル権限を保護する方法の詳細については、こちらをご覧ください

  3. FTP経由でこれを手動で行う場合は、すべてのファイルが転送されていることを確認してください。ファイルの1つが完全にアップロードされなかったことがよくあります。これは通常、Drupalサイトの破損とランダムエラーを引き起こします。D8 Webサイトを移行する他の方法は、Drush、Git、または単にディレクトリ全体を圧縮wgetし、他のサーバーで使用してサーバーからサーバーに直接転送することです。

  4. すべてのキャッシュをクリアする必要があります。データベースを移行するときに、CSS / JS集約とページキャッシングをオンにしないことをお勧めします。SQL / phpMyAdminを使用してこれを行うことができます。詳細については、この回答を参照してください。

  5. /sites/default/settings.phpファイル内の信頼できるホストを更新します。

  6. Webサイトにアクセスできるようになったら、の一時ディレクトリパスと/admin/config/media/file-system、サーバーパス/ドメイン名を格納するその他の設定(contribモジュールなど)を更新します。

D7サイトの移行に関するドキュメントもご覧ください。ほとんどのアイテムは引き続きD8に適用されます。


上記のガイドラインに従えば、ほとんどの問題を回避できます。移行後も問題が解決しない場合は、受け取った正確なログメッセージをここに投稿してください。

既に投稿したエラーについて:すべてのファイルが存在すること、および他の操作を行う前にキャッシュがクリアされていることを確認します。

お役に立てれば。


悲しいことに、私が持っているもの以上のものをプラスすることはできません。これは、そううまくそれを沸騰し、私はUbuntuの上でのUbuntu 14.04 TO PHP 7.0.32にDrupalの7.53 / PHP 5.5.9に非常に大きなサイトから16.04に行くために働いた
seizethecarpを

1

Drupal 8をlocalhostに移植するときにも同じエラーが発生しました。

私の場合、mysite / core / install.phpの場所にアクセスして解決策を見つけました。

そこで詳細なエラーが発生しました。/admin/config/development/backup_migrateからバックアップすると、いくつかのテーブルが欠落していました。phpmyadminからデータベース全体をバックアップしたので問題は解決しました。


1
そう、バックアップと移行は、8での限られた経験の中で多くの問題を抱えています
。PMA
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.