ホームページ >バックエンド開発 >PHPチュートリアル >非推奨: ECSHOP の preg_replace() エラーの解決策
この記事では、ECSHOP が Deprecated: preg_replace() エラーの問題を完全に解決する方法を説明します。みんなで共有して参考にしてください。お役に立てれば幸いです。
PHPのバージョンアップに伴い、ECSHOPシステムに新たなエラーが発生致しました。 ECSHOPの公式アップデートは遅すぎて、これらの問題を発見してもアップグレードが間に合わず、ユーザーはインストール中や使用中にエラーだらけになってしまいます。長い間話しましたが、この新しいエラーは何ですか? その完全なエラー メッセージは次のとおりです:
非推奨: preg_replace(): /e 修飾子は非推奨です。代わりに preg_replace_callback を使用してください...
注: 誰もが使えるわけではありません。このエラーは、PHP5.5 環境を使用している ECSHOP のみが報告します。
次の ecshop 開発センター (www.68ecshop.com) チュートリアルでは、最初にエラーの理由について説明しています:
1)、エラーの理由:
preg_replace() 関数で使用される修飾子 /e は次のとおりです。 PHP5.5.x では非推奨になりました。
あなたの PHP バージョンがたまたま PHP5.5 である場合 ...
2) 解決策: 実際、先ほどのエラー メッセージからも preg_replace_callback を使用するよう求められていることが分かります。 preg_replace の代わりに。
その解決策は次のとおりです:
メモ帳または他の PHP 編集ソフトウェア (editplus など) を使用してファイル include/cls_template.php を開き、
return preg_replace("/{([^}{n] *)}/ e", "$this->select('\1');", $source);
は
return preg_replace_callback("/{([^}{n]*)}/ に置き換えられました", function( $r) { return $this->select($r[1]); }, $source);
問題は解決しました。
3)、 ECSHOP 内の他のファイルでも同様の preg_replace エラーが報告される場合は、上記の方法を参照して解決してください。解決策のアイデアと解決策は同じです。
ecshopを使用してバックエンド商品テーブルにフィールドを追加する
お勧めの5つの模倣-既知の-コマース企業のウェブサイト ECSHOP テンプレート (コレクション)
以上が非推奨: ECSHOP の preg_replace() エラーの解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。