A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは、まずはじめにソースからのコンパイルと RPM のリビルド(RPMパッケージを作り直す)という2つの方法があります。
が、どちらも荊の道です(^^;ソースからでしたら configure 時に
--enable-mbstring \
--enable-mbregex \
--enable-zend-multibyte \
この3行を加えるようにしてみてください。あとは必要に応じて他のアプリケーションも --enable~ や --with~ で指定する必要があります。いまどんな configure が指定されているかは
<? phpinfo(); ?>
とだけ書いたページを設置して上から3段目「Configure Command」の部分を参照してください。
ちなみにソースからインストールしようとしても、パッケージの必要性などから Configure Command 通り configure に実行してもエラーになります。
RPM パッケージと同じような構造でマルチバイトに対応させたい!という場合は、パッケージ毎まるごと再構築する方法がおすすめです。以下、ちょっと長いです。
まず、ソースを取得して、spec ファイルという RPM の設定素となるファイルを開きます
# cd /usr/local/src/
# wget http://ftp.riken.go.jp/pub/Linux/fedora/core/4/i …
# rpm -ivh php-5.0.4-10.src.rpm
# vi /usr/src/redhat/SPECS/php.spec
次にファイルの 453 行目に以下の項目を追加します。
--enable-mbstring \
--enable-mbregex \
--enable-zend-multibyte \
これで準備は整いました。
# rpmbuild -bc /usr/src/redhat/SPECS/php.spec
と実行すると、全てのパッケージをインストールしていない限り、以下のようなエラーがでます。
エラー: Failed build dependencies:
aspell-devel >= 0.50.0 is needed by php-5.0.4-10.i386
libjpeg-devel is needed by php-5.0.4-10.i386
aspell-devel や libjpeg-devel が PHP コンパイル時に必要となるパッケージです。
# yum -y install パッケージ名
このコマンドを実行して、必要とされるパッケージを全てインストールします。
インストールが終わったら、再びパッケージの作成です。
# rpmbuild -bc /usr/src/redhat/SPECS/php.spec
ちょっと処理時間が長いです。
終わったらインストール済みの PHP パッケージを削除します(依存関係の問題が発生するため)。
# yum remove php
終わったら、PHP 関連の RPM をインストールします。
# rpm -ivh /usr/src/redhat/RPMS/i386/php*.i386.rpm
その後、apahce の再起動をして設定が有効になります。
# /sbin/service httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]
<? phpinfo(); ?> を記述したファイルにブラウザからアクセスすると、以下のように Multibyte Support の行が追加されていると思います。
mbstring
Multibyte Support enabled
Multibyte string engine libmbfl
Multibyte (japanese) regex support enabled
Multibyte regex (oniguruma) version 3.7.0
ちょっと長くなってしましましたが、パッケージを再構築するほうが、おそらく手軽な方法です。これまでの RPM 版 PHP の環境を引き継ぎつつ、日本語にも対応させるには RPM 再構築が手軽、と思います。
時間がかかってしまいますが、腰を据えておためし下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel】指定した文字列に該当する行を重複しないようにリスト 3 2022/03/30 12:27
- Excel(エクセル) Excelの数式の質問です。 A列に「redhat 8.0, centOS 7.9, python 4 2023/05/12 19:38
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- PHP メールフォームのタイトルが文字化け 2 2023/06/17 12:00
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Excel(エクセル) エクセルで重複データから重複を削除して指定の列に抽出したい 11 2022/05/11 11:26
- その他(プログラミング・Web制作) Pythonでこのプログラミングを作りたいのですが 1 2022/10/24 18:56
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パソコンでゲームをプレイしよ...
-
百均で売っていたヘアスタイリ...
-
dpkg -lの出力結果について
-
オフラインのUbuntuにパッケー...
-
apt-get install ****** でinst...
-
外部レポジトリとは
-
MAC内のソフトのアンインストー...
-
apt-getによるapacheのインスト...
-
Debianにpstreeをインストール...
-
Ubuntuでlibc6-devのインストー...
-
ZFSファイルシステムのデータの...
-
パッケージインストールとソー...
-
購入するのはRed hat かturbo l...
-
Linux CentOS6.3 aptインストール
-
Linuxのパッケージ更新で更新前...
-
DirectXエンドユーザーランタイ...
-
ガキ使DVD
-
リポジトリの設定
-
TVTest、チャンネル取得失敗
-
ubuntu8.0.4にopenssl-develを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコンでゲームをプレイしよ...
-
makeコマンドが使えません。
-
外部レポジトリとは
-
百均で売っていたヘアスタイリ...
-
1番新しい今のパーフェクトホイ...
-
1枚でも「1枚”組”」なのですか?
-
リテール版とは通常版のことで...
-
ubuntu8.0.4にopenssl-develを...
-
rpmで競合しています
-
apt-getによるapacheのインスト...
-
Debianにpstreeをインストール...
-
apt-get install ****** でinst...
-
パッケージが既存のパッケージ...
-
dpkg -lの出力結果について
-
TVTest、チャンネル取得失敗
-
Rでlavaanをインストールできま...
-
パッケージとRPMについて
-
Linuxのパッケージ更新で更新前...
-
Linux CentOS6.3 aptインストール
-
iMovieの1コマの時間の最小値に...
おすすめ情報