Yii2はサーバー間隔500エラーを示します

昨日の前日、作曲家の更新があったので、フラフラはたくさんのものをアップグレードして問題なくエンコードし続けたので、真剣に受け止めませんでした。

翌日、サーバーへの展開の更新に問題があり、サーバー500エラーが報告され、特定の理由は示唆されませんでした。

レンガをテーブルに持ってきて、解決策を記録します。

1.サーバーに最初にエラーメッセージを表示させ、サーバーのphp.iniを編集し、display_errorsを見つけ、display_errors = Onに変更して保存し、サービスを再起動します

2.実行中のサービスは次のように表示されます

Parse error: syntax error, unexpected 'function' (T_FUNCTION), 
expecting identifier (T_STRING) or \\ (T_NS_SEPARATOR) 
in /data/qisi_class/vendor/myclabs/deep-copy/src/DeepCopy/deep_copy.php 
on line 5

通常、この種の文法エラーは、上位バージョンの記述と互換性のない下位バージョンの言語が原因で発生します

3.開発環境でサーバーのphpバージョン5.4.16、7.2.10を確認します

4.問題はここにあります。Composerはマシンの上位バージョンに従ってアップグレードされますが、サーバーの動作環境が低すぎて互換性がないためエラーが発生します

5.サーバーを何気なくアップグレードすることはできません。唯一の方法は、composerの一致するバージョンをダウングレードし、composer.jsonを変更して、次のコンテンツを追加することです

"config": {
        ***
        "platform": {
            "php": "5.4.16"
        }
    },

このようにして、composerは指定されたバージョンに従って依存パッケージを照合できます。

6. composerの更新を再度選択し、ダウングレード操作に依存し始めます

- Downgrading sebastian/recursion-context (3.0.0 => 1.0.5): Downloading 
- Downgrading sebastian/exporter (3.1.0 => 1.2.2): Downloading (connecting...)
- Installing phpunit/phpunit-mock-objects (2.3.8): Downloading (connecting...)

7.ローカル環境のPHPバージョンは上位であり、下位互換性があるため、当然問題はありません。ダウングレードが完了するのを待ち、サーバーの再デプロイの問題を解決します。

心身の健康のために、作曲家のアップデートを注文するだけではありません。

14件の元の記事を公開 Like8 70,000以上を訪問

おすすめ

転載: blog.csdn.net/wm20000/article/details/89291421