*4.2.0より前のPHPでエラーが発生する (Debian, mbregexの関数名が異なる) [#v3f8a635]

-ページ: BugTrack
-投稿者: [[三浦]]
-優先順位: 普通
-状態: 提案
-カテゴリー: 本体バグ
-投稿日: 2004-01-15 (木) 19:14:03
-バージョン: 1.4.1

**メッセージ [#nd4d34e6]
Debian GNU/Linux 3(woody)のphp4.1.2へmbregex ver1.3.1 のmbregex.soを追加して使用した場合、関数名は
mb_ereg()ではなく、mbereg()なので、func.phpでエラーになる。
mb_regex_encoding()も同様。
php 4.2.0以降ならば、問題はない。

したがって、func.phpのpage_list()で、
    $mbregexv = function_exists('mb_regex_encoding');
    ...
    ($mbregexv)?mb_regex_encoding(...):mbregex_encoding();
    ...
    ($mbregexv)?mb_ereg(....):mbereg(...);
といった修正を行うとよい。
----
-埋もれてますのであげておきます。 -- [[Ratbeta]] &new{2004-07-06 (火) 20:52:07};
-これは誤解でなければバックワードコンパチの話題ですよね。であれば「古い関数を呼ぶ」新しい関数を(場合に応じて、init.phpあたりで、自動で)定義する方が、ソースが読み辛くならない上に根本的な対策になりそうです。別の視点で見れば、mbstringエミュレータなどは、このよう古い関数名をあらかじめ定義しちゃうことで優位性を高めるネタにできると。そういう話であってますか? -- [[henoheno]] &new{2004-07-06 (火) 21:44:59};
-ですので、ご提案の対処法ではないやり方になりそうです。うまい方法を募集します -- [[henoheno]] &new{2004-07-06 (火) 21:46:31};

#comment

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.039 sec.

OSDN