MacでWeb開発-(3) XAMPP for MacのPHPの環境設定
5月 2nd, 2008
XAMPP for MacOS Xのデフォルトの設定では、PHPのセッション機能や日本語(マルチバイト文字列)機能が無効になっている。
そこで、PHPのセッションや日本語を使えるように、PHPの設定ファイル「php.ini」を書き換える。
また、コマンドラインでPHPを利用しやすいように、シンボリックリンクを張ってパスを通す。
なお、XAMPP for MacOS Xでは、php.iniは以下の場所にある。
/Application/xampp/etc/php.ini
編集は、「ターミナル」でemacsやviなどのCUIのテキストエディタを使うか、「mi」「JEdit X」「TextMate」のようなGUIのテキストエディタを使う。
(1) セッション機能の有効化
セッション機能は、ログイン状態を保持するときなどに便利な機能だ。
「session.save_path」の行頭のコメントアウト「;」を削除すれば、セッション管理が有効になる。
——————————
;session.save_path = /tmp
↓
session.save_path = /tmp
——————————
(2)日本語機能の有効化
XAMPPのPHPは、日本語などのマルチバイト文字を扱える「mbstring」モジュールが組み込まれており、設定ファイルで有効にするだけで使用できる。
使用できる日本語の文字コードには、Shift_JIS、EUC-JP、UTF-8などがある。WindowsやMacでは、Shift_JISが標準になっている。
しかし、現在のPHPではプログラムコードをShift_JISで書くことはできない。
表示するHTMLをShift_JISにしたいときは、プログラムをEUC-JPで記述し、WebブラウザにHTMLを出力するときだけShift_JISに変換するように指定する。
ただし、EUC-JP→Shift_JISの変換処理が行われるので、表示が遅くなることもある。
現在のWebブラウザは、どんな文字コードも表示できるので、プログラムをEUC-JPで記述したら、HTMLも変換せずにEUC-JPで出力するほうが無駄がない。
iモードなどのケータイ用ブラウザは、Shift_JIS専用なので、変換が必要になる。
以下は、プログラムの文字コードをEUC-JPに設定し、出力もそのままEUC-JPで出している。
——————————
[mbstring]
; language for internal character representation.
mbstring.language = Japanese
; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
mbstring.internal_encoding = EUC-JP
; http input encoding.
mbstring.http_input = auto
; http output encoding. mb_output_handler must be
; registered as output buffer to function
;mbstring.http_output = SJIS
mbstring.http_output = EUC-JP
; enable automatic encoding translation accoding to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
; portable libs/applications.
;mbstring.encoding_translation = Off
; automatic encoding detection order.
; auto means
mbstring.detect_order = auto
; substitute_character used when character cannot be converted
; one from another
mbstring.substitute_character = none;
——————————
(3) シンボリックリンクの張り直し
PHPは、Webアプリケーションの記述だけでなく、コマンドラインの処理の記述にも使われる。
Webアプリでも、リアルタイム更新ではないページは、コマンドライン版のPHPで、定期的に処理してページを生成する。
Mac OS Xには、コマンドライン版のPHPが「/usr/bin/php」としてインストール済みなのだが、XAMPPのWebアプリと連動させたいなら、XAMPP側のコマンドライン版PHPを利用したい。こちらは「/Applications/xampp/xamppfiles/bin/php-5.2.5」としてインストールされている。
対策としては、
- 新しく「/usr/local/bin」というディレクトリを作る。
- 「/usr/local/bin」のコマンドが「/usr/bin」の同名コマンドより先に実行されるように環境変数PATHを設定。
- 「/usr/local/bin」にXAMPP側コマンドライン版PHPへのシンボリックリンクを置く。
とすればいい。
ディレクトリとシンボリックリンクの作成
———————————–
$ sudo mkdir /usr/lcoal/bin
$ sudo ln -s /Applications/xampp/xamppfiles/bin/php-5.2.5 /usr/local/bin/php
———————————–
環境変数PATHの設定
~/.bash_profileに以下のように設定する。
—————————————–
PATH=/usr/local/bin:”$PATH”
—————————————–
【再起動】
設定が終了したら、XAMPP Control PanelでApacheを再起動(Reload)する。
以上。
関連記事
- MacでWeb開発-(1) XAMPP for Macの環境設置
- MacでWeb開発-(2) XAMPP for MacにPostgreSQLを追加
- MacでWeb開発-(3) XAMPP for MacのPHPの環境設定
- MacでWeb開発-(4) XAMPP for MacのApacheの設定確認
- MacでWeb開発-(5) XAMPP for Macの管理画面へのアクセス制限
- MacでWeb開発-(6) XAMPP for MacでWebサイトを運営(VirtualHost)
- MacでWeb開発-(7) XAMPP for Macでブログを運営(WordPress)
- MacでWeb開発-(8) XAMPP for MacでWikiを運営(PukiWiki)
- MacでWeb開発-(9) XAMPP for MacでSNSを運営(OpenPNE)
- MacでWeb開発-(10) XAMPPにQuictyフレームワークを設置
- Macを買ったら入れるソフト- (5) UNIX環境編
- MacPortsの使い方
関連記事
- MacでWeb開発-(1) XAMPP for Macの環境設置
- MacPortsの使い方
- MacでWeb開発-(5) XAMPP for Macの管理画面へのアクセス制限
- MacでWeb開発-(2) XAMPP for MacにPostgreSQLを追加
- XAMPP for WindowsにQuictyフレームワークをインストール
カテゴリー: Mac, PHP, PostgreSQL, XAMPP









お世話になっております
サイトーです。お忙しいところ、お手数ですが、また質問させてください。
(1) セッション機能の有効化で
; session.save_path = “N;/path”
という記述しかないのですが、session.save_path = /tmpと書き直したほうがいいですか?
他に コメントアウトされていない
session.save_path = /Applications/XAMPP/xamppfiles/temp/
というのがあります、、、
(3) シンボリックリンクの張り直し で
環境変数PATHの設定
~/.bash_profileに以下のように設定するには、
PATH=/usr/local/bin:”$PATH” と
ターミナルに 113x33x242x100:~ ユーザー$ の後に 書けばいいのでしょうか?
ls -aをしてみると、
. .crash_report_preview Documents
.. .crash_reportrc Downloads
.CFUserTextEncoding .cups Library
.DS_Store .dvdcss Movies
.Trash .filezilla Music
.Xauthority .fontconfig Pictures
.Xcode .macports Public
.adobe .mysql_history Sites
.bash_history .profile
.cpan Desktop
しかありません、、、
サイトウさん
(1)ですが、すでに設定があって、ディレクトリがあって、誰でも書き込めるようになっているなら、とりあえず、それで良いと思います。
(3) えっと、.bash_profileが存在しないので、編集できないということでしょうか?
$ emacs ~/.bash_profile
とか
$ vi ~/.bash_profile
みたいに、エディタコマンドの後ろにファイル名つけて起動すれば、ファイルが存在するときはそれを開き、ファイルがないときは、ファイルが作成されます。
ということで、よいでしょうか?
tomoyunさん お世話になっております。
ありがとうございます
(3)了解いたしました、
ターミナルにはどのように書けば、
~/.bash_profileというファイルが作成されて
PATH=/usr/local/bin:”$PATH” となるのでしょうか、、、
すいません、UNIXの絵本を買って読んでいるのですが、、要領を得ず、、
毎回、お手数をおかけします。
サイトウさん
「テキストエディタ」は分かりますか?ワープロみたいなものですが。
ターミナルの中で動くテキストエディタには、viやemacsがありますが、ちょっと操作が難しいので、フリーのテキストエディタをダウンロードして使ってください。miとかいろいろあるはずです。
Mac OS Xでは、.bash_profileは存在しないので、自分で作ります。
テキストエディタで新規ファイルを作って、
そこに
PATH=/usr/local/bin:”$PATH”
と書き込んで、ホームディレクトリに.bash_profileという名前で保存すればいいのです。
最終的には、viとemacsのどちらかをマスターしたほうがいいので、勉強してください。
っそっそうですよね、、、
テキストで作って書けばよいのですよね
すいません、、、ありがとうございます
また、初歩すぎる問い合わせをすると思いますが、
よろしくお願いいたします。
ありがとうございました。
お世話になっております
とんちんかんなことばかりですいませんでした。
unixの説明書のvi のところをよく読みましたら、tomoyunさんのおっしゃる通り、書き込めました!
ありがとうございます。
いつも、拝見させて頂いております。
お忙しい所、大変恐縮ですが私にも質問させて下さい。
全くの初心者ですが、勉強してます。
2点、分からない事があります。
1、XAMPPのセキュリティーで、ユーザーnobodyのパスワードを何百回としてますが、そこだけかわりません。
この様に表示されます。
「ユーザnobody のFTPパスワードが「xampp」のままです」
ここだけなんです。変更出来ないのが。
2、PHPファイルをXAMPPを使って表示させたいのですが、URLの最後にファイル名を指定しても表示されません。
ひょっとして、PHPファイルの保存場所が違うのかもしれません。どこに保存すれば、見れるようになりますか?
アドバイスお願いします。
保存場所はデスクトップです。
ひょっとしてそもそも、保存場所が違ったりしますか?
最後になりますが、環境はMACのOSXです!
ご指導の程、よろしくお願いします!!