Ini untuk Mac OS X dengan penginstalan asli Apache HTTP dan penginstalan kustom MySQL .
Jawabannya didasarkan pada respon yang sangat baik dari @ alec-gorge, tetapi karena saya harus mencari di Google beberapa perubahan spesifik untuk mengonfigurasi konfigurasi saya, kebanyakan khusus untuk Mac OS X, saya pikir saya akan menambahkannya di sini demi kelengkapan.
Aktifkan dukungan PHP5 untuk Apache HTTP
Pastikan dukungan PHP5 diaktifkan di /etc/apache2/httpd.conf
.
Edit file dengan sudo vi /etc/apache2/httpd.conf
(masukkan kata sandi saat diminta) dan hapus komentar (hapus ;
dari awal) baris untuk memuat modul php5_module .
LoadModule php5_module libexec/apache2/libphp5.so
Mulai Apache HTTP dengan sudo apachectl start
(atau restart
jika sudah dimulai dan perlu dimulai ulang untuk membaca kembali file konfigurasi).
Pastikan itu /var/log/apache2/error_log
berisi baris yang memberi tahu Anda bahwa php5_module diaktifkan - Anda akan melihatnyaPHP/5.3.15
(atau serupa).
[notice] Apache/2.2.22 (Unix) DAV/2 PHP/5.3.15 with Suhosin-Patch configured -- resuming normal operations
Mencari nama file Socket
Saat MySQL aktif dan berjalan (dengan ./bin/mysqld_safe
) harus ada baris debug yang dicetak ke konsol yang memberi tahu Anda di mana Anda dapat menemukan file log. Catat nama host dalam nama file - localhost
dalam kasus saya - yang mungkin berbeda untuk konfigurasi Anda.
File yang muncul setelah Logging to
itu penting. Di situlah MySQL mencatat pekerjaannya.
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
Buka localhost.err
file (sekali lagi, nama Anda mungkin berbeda), yaitu tail -1 /Users/jacek/apps/mysql/data/localhost.err
untuk mengetahui nama file soket - ini harus menjadi baris terakhir.
$ tail -1 /Users/jacek/apps/mysql/data/localhost.err
Version: '5.5.27' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server (GPL)
Perhatikan socket:
bagian - itu file soket yang harus Anda gunakanphp.ini
.
Ada cara lain (beberapa mengatakan cara yang lebih mudah) untuk menentukan lokasi nama file soket dengan masuk ke MySQL dan menjalankan:
show variables like '%socket%';
Konfigurasi PHP5 dengan dukungan MySQL - /etc/php.ini
Berbicara tentang php.ini ...
Di /etc
direktori ada file /etc/php.ini.default . Salin ke /etc/php.ini .
sudo cp /etc/php.ini.default /etc/php.ini
Buka /etc/php.ini
dan cari mysql.default_socket .
sudo vi /etc/php.ini
Defaultnya mysql.default_socket
adalah /var/mysql/mysql.sock
. Anda harus mengubahnya ke nilai yang telah Anda catat sebelumnya - itu /tmp/mysql.sock
dalam kasus saya.
Ganti /etc/php.ini
file untuk mencerminkan nama file soket:
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock
Verifikasi akhir
Mulai ulang HTTP Apache.
sudo apachectl restart
Periksa log jika tidak ada kesalahan yang terkait dengan PHP5. Tidak ada kesalahan berarti Anda sudah selesai dan PHP5 dengan MySQL seharusnya berfungsi dengan baik. Selamat!
/etc/init.d/mysql start
jika Anda menggunakan distro berbasis debian. jika gagal, periksa/etc/my.cnf
file untuk jalur file soket mysql yang benar.