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

ECshop を PHP7 バージョンに移行するときに発生する互換性の問題

WBOY
リリース: 2016-07-29 09:03:20
オリジナル
1138 人が閲覧しました

PHP7 に ECShop V2.7.3 をインストールするとエラーが発生しました。

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

ECshop 迁移到 PHP7版本时遇到的兼容性问题

このエラーの原因は、PHP7 がクラスと同じ名前のコンストラクター メソッドをサポートしなくなったためです。たとえば、次のような記述メソッドが使用された場合、PHP7 はレポートします。このエラー。

<&#63;php 
class foo { 
function foo() {
echo 'I am the constructor';
}
}
&#63;>
ログイン後にコピー

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

ECshop 迁移到 PHP7版本时遇到的兼容性问题

案の定、クラスと同じ名前のコンストラクターメソッドが存在します

ECshop 迁移到 PHP7版本时遇到的兼容性问题

コンストラクターメソッドECSを__constructに変更しました

ECshop 迁移到 PHP7版本时遇到的兼容性问题
ecshopインストールホームページに戻って更新してください。 、エラーがないことがわかります。

「次へ」をクリックしてエラーを報告してくださいECshop 迁移到 PHP7版本时遇到的兼容性问题

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

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

<&#63;php 
class foo { 
function bar() {
echo 'I am not static!';
}
}
foo::bar(); 
&#63;>
ログイン後にコピー
ECshop 迁移到 PHP7版本时遇到的兼容性问题
変更方法も非常に簡単です。メソッドを静的メソッドに変更するか、呼び出しを非静的呼び出しに変更します。 エラーを報告したファイル lib_installer.php の 31 行のコードと、cls イメージ クラス ファイルの gd version() メソッドを見てみましょう。static キーワードが実際にそうではないことがわかります。 used

ECshop 迁移到 PHP7版本时遇到的兼容性问题
最初のタイプの変更方法は、メソッドを静的メソッドに変更し、メソッドの前にキーワード public static

ECshop 迁移到 PHP7版本时遇到的兼容性问题
を追加します。2 番目の変更方法は、非静的メソッドを使用することです。 lib_installer.php の 31 行のコードを呼び出して変更します

どちらの方法でも問題を解決できます。 ecshop のインストール手順の 2 ページ目に戻ると、エラー メッセージは消えています。 ECshop 迁移到 PHP7版本时遇到的兼容性问题

ECshop 迁移到 PHP7版本时遇到的兼容性问题 次の悲劇は、PHP7 がオリジナルの mysql API をサポートしていないことです。PHP7 はより優れた Mysqli API と pdo_mysql API をサポートしているため、mysql を操作する API を変更しないと ecshop を PHP7 で実行できません。

ECshop 迁移到 PHP7版本时遇到的兼容性问题OneAPM for PHP は、コードレベルのパフォーマンス問題の可視化、パフォーマンスのボトルネックの迅速な特定と追跡、実際のユーザー エクスペリエンスの監視、サーバーの監視など、アプリケーションのパフォーマンス管理と監視を完了するために、すべての PHP アプリケーションに深く入り込むことができます。エンドツーエンドのアプリケーションパフォーマンス管理。

上記では、ECshop が PHP7 バージョンに移行したときに発生した互換性の問題について説明しましたが、皆様のお役に立てれば幸いです。

上記では、ECshop が PHP7 バージョンに移行するときに発生する互換性の問題を、関連する側面も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート