Leopard(Mac OS X 10.5.x)でPHP + MySQLの環境構築する方法を紹介します。
PHPとMySQLのインストールに関しては以下を参照してください。
基本的にはこれで完了なのですが、Mac OS X用の.pkgファイルからMySQLをインストールすると、MySQLのソケットファイル(mysql.sock)が一般的な場所とは違う場所に置かれるようになっています。
そのため、デフォルトでPHPから参照する場所にはなく、MySQLに接続できない状態になっています。
この問題の解決方法は以下の2通りです。
以下で詳細な方法を書いておきます。
Terminal(ターミナル:Terminal.app)で以下のコマンドを実行して「/etc/php.ini」をエディタで開きます。
/etc/php.iniがない場合は、1行目のコマンドを実行し、/etc/php.ini.defaultをコピーします。既に/etc/php.iniが存在する場合は1行目は省略してください。
sudo cp -i /etc/php.ini.default /etc/php.inisudo chmod 666 /etc/php.inisudo emacs /etc/php.inisudo open -a /Applications/mi.app /etc/php.ini760(or 660)行目付近にある「mysql.default_socket =」の部分を以下のように書き換えて、「/tmp/mysql.sock」を参照するように設定します。
mysql.default_socket = /tmp/mysql.sock「=」以降に「/tmp/mysql.sock」以外の値が既に設定されていていた場合は「my.cnf」を編集する場合の方で対応した方が良いと思われます。
php.iniを編集して保存したら、以下のようにアクセス権を戻してApacheを再起動して設定を反映させます。
sudo chmod 644 /etc/php.inisudo apachectl gracefulこれで作業は完了です。
Apacheの再起動に関しては「システム環境設定 > 共有 > Web共有」を一旦無効にして、有効に戻すという方法もあります。
Terminal(ターミナル:Terminal.app)で以下のコマンドを実行して、「/etc/my.cnf」をエディタで開きます。
「/etc/my.cnf」が既に存在する場合は1行目は無視してください。「i」オプションを付けているので、既に存在していた場合はキャンセルしてください。
sudo cp -i /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnfsudo chmod 666 /etc/my.cnfsudo emacs /etc/my.cnfmy-medium.cnfの部分は、my-small.cnf, my-large.cnf, my-huge.cnf等、お好きなファイルをコピーしてください。
また、Emacs以外のエディタを利用する場合は3行目を適当に読み替えてください。
エディタで開くと、「[client]」と「[mysqld]」のそれぞれの下に以下のような行があるので、そこを書き換えます。
socket = /tmp/mysql.sock以下のように書き換えます。
socket = /var/mysql/mysql.sock編集内容を保存したら、以下のコマンドを実行して、アクセス権を元に戻してMySQLサーバを再起動します。
sudo chmod 644 /etc/my.cnf/Library/StartupItems/MySQLCOM/MySQLCOM stop/Library/StartupItems/MySQLCOM/MySQLCOM start2,3行目は「MySQLStartupItem.pkg」からインストールしている必要があります。
また、「MySQL.prefPane」がインストールされている場合は、2,3行目を実行せずに「システム環境設定」から再起動してもOKです。
これで環境設定は完了です。MySQLを利用するPHPアプリケーションは問題なくインストールできると思います。
多分、どっちの方法が良いのかっていうのが気になる方も居ると思いますが、一概にどちらとは言えません。
しかし、ソケットファイルを/tmp/mysql.sockに置く設定になっているのは「Mac OS X」だけだと思うので、my.cnfを編集する方法の方が、PHP以外の言語等でも設定を変えたりする手間が省けるかもしれません。
ただ、Mac OS X用のインストーラ等を利用した場合、デフォルトで/tmp/mysql.sockを見る設定になっている可能性もなきにしもあらずです。
Trackback URL: http://r-styles.net/mt/mt-tb.cgi/994
Leave a Comment