Điều này dành cho Mac OS X với cài đặt gốc Apache HTTP và cài đặt tùy chỉnh của MySQL .
Câu trả lời dựa trên phản hồi tuyệt vời của @ alec-gorge, nhưng vì tôi đã phải google một số thay đổi cụ thể để cấu hình nó trong cấu hình của mình, chủ yếu là dành riêng cho Mac OS X, tôi nghĩ rằng tôi sẽ thêm nó vào đây để hoàn thiện.
Bật hỗ trợ PHP5 cho Apache HTTP
Đảm bảo rằng hỗ trợ PHP5 được bật trong /etc/apache2/httpd.conf
.
Chỉnh sửa tệp bằng sudo vi /etc/apache2/httpd.conf
(nhập mật khẩu khi được hỏi) và bỏ ghi chú (xóa ;
từ đầu) dòng để tải mô-đun php5_module .
LoadModule php5_module libexec/apache2/libphp5.so
Khởi động Apache HTTP bằng sudo apachectl start
(hoặc restart
nếu nó đã được khởi động và cần được khởi động lại để đọc lại tệp cấu hình).
Đảm bảo rằng /var/log/apache2/error_log
có một dòng cho bạn biết php5_module đã được bật - bạn sẽ thấy PHP/5.3.15
(hoặc tương tự).
[notice] Apache/2.2.22 (Unix) DAV/2 PHP/5.3.15 with Suhosin-Patch configured -- resuming normal operations
Tra cứu tên tệp Socket
Khi MySQL được thiết lập và chạy (với ./bin/mysqld_safe
) sẽ có các dòng gỡ lỗi được in ra bảng điều khiển cho bạn biết bạn có thể tìm thấy các tệp nhật ký ở đâu. Lưu ý tên máy chủ trong tên tệp - localhost
trong trường hợp của tôi - có thể khác đối với cấu hình của bạn.
Tệp sau đó Logging to
là quan trọng. Đó là nơi MySQL ghi lại công việc của nó.
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
Mở localhost.err
tệp (một lần nữa, tệp của bạn có thể được đặt tên khác), tức là tail -1 /Users/jacek/apps/mysql/data/localhost.err
để tìm ra tên tệp socket - nó phải là dòng cuối cùng.
$ tail -1 /Users/jacek/apps/mysql/data/localhost.err
Version: '5.5.27' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server (GPL)
Lưu ý socket:
phần - đó là tệp socket bạn nên sử dụng php.ini
.
Có một cách khác (một số người nói là một cách dễ dàng hơn) để xác định vị trí của tên tệp của socket bằng cách đăng nhập vào MySQL và chạy:
show variables like '%socket%';
Định cấu hình PHP5 với hỗ trợ MySQL - /etc/php.ini
Nói về php.ini ...
Trong /etc
thư mục có tệp /etc/php.ini.default . Sao chép nó vào /etc/php.ini .
sudo cp /etc/php.ini.default /etc/php.ini
Mở /etc/php.ini
và tìm kiếm mysql.default_socket .
sudo vi /etc/php.ini
Giá trị mặc định mysql.default_socket
là /var/mysql/mysql.sock
. Bạn nên thay đổi nó thành giá trị bạn đã lưu ý trước đó - đó là /tmp/mysql.sock
trong trường hợp của tôi.
Thay thế /etc/php.ini
tệp để phản ánh tên của tệp socket:
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock
Xác minh cuối cùng
Khởi động lại Apache HTTP.
sudo apachectl restart
Kiểm tra nhật ký nếu không có lỗi liên quan đến PHP5. Không có lỗi có nghĩa là bạn đã hoàn tất và PHP5 với MySQL sẽ hoạt động tốt. Chúc mừng!
/etc/init.d/mysql start
nếu bạn đang sử dụng bản phân phối cơ sở debian. nếu không thành công, hãy kiểm tra/etc/my.cnf
tệp để biết đường dẫn tệp socket mysql chính xác.