Це для Mac OS X із вбудованою установкою Apache HTTP та власною установкою MySQL .
Відповідь ґрунтується на чудовій відповіді @ alec-gorge, але оскільки мені довелося переглядати деякі конкретні зміни, щоб налаштувати її в моїй конфігурації, в основному для Mac OS X, я подумав, що додам її сюди заради повноти.
Увімкніть підтримку PHP5 для HTTP Apache
Переконайтеся, що підтримка PHP5 включена /etc/apache2/httpd.conf
.
Відредагуйте файл за допомогою sudo vi /etc/apache2/httpd.conf
(введіть пароль при запиті ) та відмініть (видаліть ;
з початку) рядок, щоб завантажити модуль php5_module .
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
Пошук імені файлу Socket
Коли 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%';
Налаштування PHP5 з підтримкою MySQL - /etc/php.ini
Якщо говорити про php.ini ...
У /etc
каталозі є /etc/php.ini.default файл. Скопіюйте його в /etc/php.ini .
sudo cp /etc/php.ini.default /etc/php.ini
Відкрийте /etc/php.ini
і шукайте mysql.default_socket .
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
Остаточна перевірка
Перезапустіть HTTP Apache.
sudo apachectl restart
Перевірте журнали, якщо немає помилок, пов’язаних із PHP5. Жодних помилок означає, що ви готові, і PHP5 з MySQL має працювати добре. Вітаю!
/etc/init.d/mysql start
якщо ви перебуваєте на базі дистрибутива debian. якщо не вдалося, перевірте/etc/my.cnf
файл на правильний шлях файлу socket mysql.