PHP7 に ECShop V2.7.3 をインストールするとエラーが発生しました。
非推奨: クラスと同じ名前のメソッドは、PHP の将来のバージョンではコンストラクターになりません。ECS の /usr/local/nginx/html/ecshop/upload/includes/cls_ecshop.php の 25 行目に非推奨のコンストラクターがあります。
このエラーの原因は、PHP7 がクラスと同じ名前のコンストラクター メソッドをサポートしなくなったためです。たとえば、次のような記述メソッドが使用された場合、PHP7 はレポートします。このエラー。
<?php class foo { function foo() { echo 'I am the constructor'; } } ?>
ecshop に戻る cls_ecshop.php ファイルの 25 行目を見てみましょう。以下のように
案の定、クラスと同じ名前のコンストラクターメソッドが存在します
ecshopインストールホームページに戻って更新してください。 、エラーがないことがわかります。
「次へ」をクリックしてエラーを報告してください
非推奨: 非静的メソッド cls_image::gd_version() は /usr/local/nginx/html/ecshop/upload/install/includes/lib_installer で静的に呼び出すべきではありません.php 31 行目このエラーの理由は、非静的メソッドの静的呼び出しです。たとえば、次のコードはこのエラーを報告します
<?php class foo { function bar() { echo 'I am not static!'; } } foo::bar(); ?>
最初のタイプの変更方法は、メソッドを静的メソッドに変更し、メソッドの前にキーワード public static
を追加します。2 番目の変更方法は、非静的メソッドを使用することです。 lib_installer.php の 31 行のコードを呼び出して変更します
どちらの方法でも問題を解決できます。 ecshop のインストール手順の 2 ページ目に戻ると、エラー メッセージは消えています。
次の悲劇は、PHP7 がオリジナルの mysql API をサポートしていないことです。PHP7 はより優れた Mysqli API と pdo_mysql API をサポートしているため、mysql を操作する API を変更しないと ecshop を PHP7 で実行できません。
OneAPM for PHP は、コードレベルのパフォーマンス問題の可視化、パフォーマンスのボトルネックの迅速な特定と追跡、実際のユーザー エクスペリエンスの監視、サーバーの監視など、アプリケーションのパフォーマンス管理と監視を完了するために、すべての PHP アプリケーションに深く入り込むことができます。エンドツーエンドのアプリケーションパフォーマンス管理。
上記では、ECshop が PHP7 バージョンに移行するときに発生する互換性の問題を、関連する側面も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。