ホームページ > バックエンド開発 > PHPチュートリアル > ECshop を PHP7 バージョンに移行するときに発生する互換性の問題、ecshopphp7_PHP チュートリアル

ECshop を PHP7 バージョンに移行するときに発生する互換性の問題、ecshopphp7_PHP チュートリアル

WBOY
リリース: 2016-07-12 08:59:02
オリジナル
1145 人が閲覧しました

ECshop が PHP7 バージョン ecshopphp7 に移行したときに互換性の問題が発生しました

ECShop V2.7.3 を PHP7 にインストールすると、エラーが報告されました。

非推奨: クラスと同じ名前のメソッドは、PHP の将来のバージョンではコンストラクターになりません。ECS の /usr/local/nginx/html/ecshop/upload/includes/cls_ecshop.php の 25 行目に非推奨のコンストラクターがあります

このエラーの理由は、PHP7 がクラスと同じ名前のコンストラクターをサポートしなくなったためです。たとえば、次のように記述された場合、PHP7 はこのエラーを報告します。

リーリー

ecshop に戻って、cls_ecshop.php ファイルの 25 行目を見てみましょう。以下の通り


確かに、クラスと同じ名前のコンストラクターがあります。コンストラクター ECS を __construct,

に変更しました。


ecshop インストールのホームページに戻って更新すると、エラーがなくなっていることがわかります。


「次へ」をクリックしてエラーを報告してください

非推奨: 非静的メソッド cls_image::gd_version() は、/usr/local/nginx/html/ecshop/upload/install/includes/lib_installer.php の 31 行目で静的に呼び出すべきではありません

このエラーの理由は、非静的メソッドが静的に呼び出されることです。たとえば、次のコードはこのエラーを報告します。 リーリー

メソッドを変更することも非常に簡単です。メソッドを静的メソッドに変更するか、呼び出しを非静的呼び出しに変更します。 エラーを報告したファイル lib_installer.php 内の 31 行のコードを見てみましょう


clsイメージクラスファイルのgd version()メソッドもあります

staticキーワードが使用されていないことがわかります。


最初の変更方法は、メソッドを静的メソッドに変更し、メソッドの前にキーワード 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 バージョンに移行したときに発生した互換性の問題について説明しましたが、皆様のお役に立てれば幸いです。

興味があるかもしれない記事:

PHP7 拡張機能の互換性問題の記録のための PHP 拡張機能の移行

http://www.bkjia.com/PHPjc/1100317.html

本当http://www.bkjia.com/PHPjc/1100317.html技術記事 ECshop を PHP7 バージョンに移行するときに互換性の問題が発生しました。ecshopphp7 が PHP7 に ECShop V2.7.3 をインストールすると、エラーが発生しました。非推奨: クラスと同じ名前のメソッドは使用できません...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート