これがためにあるのMac OS XでネイティブのApache HTTPのインストールとMySQLののカスタムインストール。
答えは@ alec-gorgeの優れた応答に基づいていますが、私の構成で構成するには特定の変更をグーグルする必要があったので、大部分はMac OS X固有なので、完全を期すためにここに追加したいと思いました。
Apache HTTPのPHP5サポートを有効にする
PHP5サポートがで有効になっていることを確認してください/etc/apache2/httpd.conf
。
php5_moduleモジュールをロードするために、ファイルを編集しsudo vi /etc/apache2/httpd.conf
(要求されたらパスワードを入力)、コメントを外します(;
最初から削除します)。
LoadModule php5_module libexec/apache2/libphp5.so
でApache HTTPを開始しますsudo apachectl start
(またはrestart
、すでに開始されていて、構成ファイルを再度読み取るために再起動する必要がある場合)。
/var/log/apache2/error_log
php5_moduleが有効になっていることを示す行が含まれていることを確認してくださいPHP/5.3.15
。
[notice] Apache/2.2.22 (Unix) DAV/2 PHP/5.3.15 with Suhosin-Patch configured -- resuming normal operations
ソケットファイルの名前を検索しています
MySQLが(で./bin/mysqld_safe
)稼働している場合、ログファイルの場所を示すデバッグ行がコンソールに出力されます。ファイル名のホスト名に注意してください- localhost
私の場合-構成によって異なる場合があります。
後に続くファイルLogging to
は重要です。MySQLがその作業をログに記録する場所です。
130309 12:17:59 mysqld_safe Logging to '/Users/jacek/apps/mysql/data/localhost.err'.
130309 12:17:59 mysqld_safe Starting mysqld daemon with databases from /Users/jacek/apps/mysql/data
localhost.err
ファイルを開きます(ここでも、ファイルの名前が異なる場合があります)。つまりtail -1 /Users/jacek/apps/mysql/data/localhost.err
、ソケットファイルの名前を確認します-これが最後の行になるはずです。
$ tail -1 /Users/jacek/apps/mysql/data/localhost.err
Version: '5.5.27' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server (GPL)
socket:
部分に注意してくださいphp.ini
。これは、で使用する必要があるソケットファイルです。
MySQLにログインして実行することにより、ソケットのファイル名の場所を特定する別の方法(簡単な方法もある)があります。
show variables like '%socket%';
MySQLをサポートするPHP5の構成-/etc/php.ini
php.iniと言えば...
では/etc
、ディレクトリがあります/etc/php.ini.defaultファイル。/etc/php.iniにコピーします。
sudo cp /etc/php.ini.default /etc/php.ini
mysql.default_socketを開い/etc/php.ini
て探します。
sudo vi /etc/php.ini
のデフォルトはmysql.default_socket
です/var/mysql/mysql.sock
。以前にメモした値に変更する必要があります- /tmp/mysql.sock
私の場合です。
/etc/php.ini
ソケットファイルの名前を反映するようにファイルを置き換えます。
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock
最終確認
Apache HTTPを再起動します。
sudo apachectl restart
PHP5に関連するエラーがない場合は、ログを確認してください。エラーがなければ、作業は完了し、MySQLを使用したPHP5は正常に動作するはずです。おめでとうございます!
/etc/init.d/mysql start
debianベースディストリビューションの場合は、の出力を貼り付けてください。失敗した場合は、/etc/my.cnf
ファイルで正しいmysqlソケットファイルのパスを確認してください。