PHP5 mb_eregが組み込まれない

症状

portsからphp5-mbstringをインストールし、phpinfo()で確認するときちんとインストールされているにもかかわらず、mb_ereg()を使用すると「undefined function」とエラーが出る。

原因

php5-mbstringをインストールすると、configureのオプションが –disable-mbregex となっているため。なぜmbregexをdisableにしてあるのか、理由は不明。

対処法

  1. portsの下でパッケージソース展開。

    # cd /usr/ports/converters/php5-mbstring
    # make
    
  2. configureし直して再コンパイル。

    # cd work/php-5.2.0/ext/mbstring/
    # ./configure --enable-mbstring --with-php-config=/usr/local/bin/php-config --enable-mbregex --prefix=/usr/local
    # make
    
  3. 古いパッケージを一度アンインストールしてから再インストール。

    # cd ../../../..
    # make deinstall reinstall
    
タイトルとURLをコピーしました