ホームページ >バックエンド開発 >PHPチュートリアル >非推奨: ECSHOP の preg_replace() エラーの解決策

非推奨: ECSHOP の preg_replace() エラーの解決策

*文
*文オリジナル
2017-12-29 17:59:472547ブラウズ

この記事では、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 エラーが報告される場合は、上記の方法を参照して解決してください。解決策のアイデアと解決策は同じです。

関連する推奨事項:

PHPチュートリアル - Ecshop二次開発(3)

ecshopを使用してバックエンド商品テーブルにフィールドを追加する

お勧めの5つの模倣-既知の-コマース企業のウェブサイト ECSHOP テンプレート (コレクション)

以上が非推奨: ECSHOP の preg_replace() エラーの解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。