PHP

PHP の再インストール

2009年10月16日

WordPress で使用していたプラグインが、以下のエラーで動かなかった。

[Thu Oct 08 19:22:36 2009] [error] [client 127.0.0.1] PHP Fatal error:  Call to undefined function mb_strlen() in C:\\Documents and Settings\\yuhki\\My Documents\\WebPage\\wordpress\\wp-content\\plugins\\commented-entry-list_1.2\\commented-entry-list.php on line 101

mb_strlen() を動かすための dll がインストールされていないのが原因らしい。
PHPのモジュールを追加するため、PHP 5.3.0 を再インストールする。(以前の、PHPのバージョンは、未確認・・)

ダウンロード

以下のサイトからダウンロードする。

PHP: Hypertext Preprocessor

この記事を書いてある時点で、「Current PHP 5.3 Stable: 5.3.0」のリンクの部分が安定版の最新。

image

インストール時のメモ

そのまま上書きでインストールした。。以前の、PHPのバージョンは、未確認だがインストーラーは前のバージョンを認識していないのか、それともこういうものなのわからないが、通常のインストールに見えた。

・インストール時に嵌ったところ

Apache 2.2 で使うための再インストールだったが、はじめに、以下の画面でチェックを入れておくと、インストーラーが終了しない現象に遭遇した(CPUは使っていて動いているが、何十分も終了しない)。

image

そのため、一度、「Don not setup a web servver」を選択してインストールを完了させ、その後、再度インストーラーを起動させると「Change」というメニューが出てくるので「Change」を選び、その後「Apache 2.2.x Module」を選択して再インストールすると上手く行った。

・mb_strlen を使うために追加すべきモジュール

インストール・モジュールは、途中で、「Mulit-Byte String」と言うパッケージを選択する。これを選択しておかないと mb_strlen が使えない。

image

インストール完了後の作業

php.ini を覗いてみると

[PHP_MBSTRING]
extension=php_mbstring.dll

となっていた。

この他に、

mbstring.language = Japanese
mbstring.internal_encoding = UTF-8

等の設定をする必用があるかと思ったが(php.ini 内ではこれらの設定はコメントアウトされていた)、今回の使用目的 (WordPress のプラグインを動かす)では、問題無く動いているようなので、今の所、デフォルトのままとする。

結局、Apache の再起動以外は特に何もする事無く、デフォルト設定のまま mb_strlen( ) が使えるようになった。

-PHP

Copyright© エンジニアの何でもメモ帳 , 2024 All Rights Reserved.