Статьи

Настройка PHP и MySQL на OS X 10.8 Mountain Lion

В OS X 10.8 Apple продолжает поставлять PHP 5.3 с Xdebug, PEAR, GD и PDO_MYSQL. Это как установить его из чистой установки 10.8.

/ USR / местные

Убедитесь, что существуют следующие каталоги:

sudo mkdir /usr/local/include
sudo mkdir /usr/local/bin
sudo mkdir /usr/local/lib
sudo mkdir -p /usr/local/man/man1

MySQL

  1. Загрузите «x86, 64-битную» версию DMG MySQL 5.5.x для OS X 10.6 с mysql.com и установите pkg, элемент запуска и панель pref.
  2. Добавьте / usr / local / mysql / bin к пути: vim ~ / .bash_profile и добавьте:
    export PATH=~/bin:/usr/local/bin:/usr/local/mysql/bin:$PATH
    export EDITOR=vim
    

    в верхней части файла. (Обратите внимание, что мы устанавливаем РЕДАКТОР, пока мы здесь, чтобы SVN был счастлив!)

  3. Установите пароль root для MySQL:
    mysqladmin -u root password {new-password}
    mysqladmin -u root -p{new-password} -h localhost password {new-password}
    mysqladmin -u root -p{new-password} reload
    

    Очистите файл истории, введя history -c, чтобы {новый-пароль} не отображался на диске в виде простого текста.

  4. Теперь убедитесь, что файл mysql.sock можно найти с помощью PHP:

    1. Убедитесь, что MySQL работает
    2. sudo mkdir / var / mysql
    3. sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

апаш

Apple удалила функцию «Общий веб-доступ» из системных настроек, но Apache все еще установлен. Нам просто нужно использовать командную строку сейчас, чтобы запустить и остановить ее.

  1. cd / etc / apache2
  2. Дайте разрешение на запись в файл конфигурации root: sudo chmod u + w httpd.conf
  3. sudo vim httpd.conf (или используйте BBEdit / TextWrangler для редактирования httpd.conf)
  4. Найдите #LoadModule php5_module libexec / apache2 / libphp5.so и удалите ведущий #
  5. Найдите параметр AllowOverride None в разделе <Directory «/ Library / WebServer / Documents»> и измените значение на AllowOverride All, чтобы файлы .htaccess работали.
  6. Сменить права назад: sudo chmod uw httpd.conf
  7. Перезапустите Apache: sudo apachectl restart
  8. Откройте Finder и перейдите в / Library / WebServer / Documents / используя shift + cmd + g
  9. Создайте новую папку с именем «orig» и поместите в нее все файлы, находящиеся в данный момент в папке «Documents». (обратите внимание, что он запросит ваш пароль, так как папка «Документы» доступна для записи только пользователю root.
  10. Создайте новый файл с именем info.php с помощью <? Php phpinfo (); внутри него.
  11. Используйте Safari, чтобы перейти по адресу http: //localhost/info.php и проверить, отображается ли версия PHP (5.3.13 на момент написания).
  12. Убедитесь, что Apache запустится после перезагрузки:
    sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

php.ini

  1. CD / и т. д.
  2. sudo cp php.ini.default php.ini
  3. sudo chmod ug + w php.ini
  4. sudo chgrp staff php.ini
  5. sudo vim php.ini (или отредактируйте с помощью BBEdit / TextWrangler) и измените настройки соответствующим образом.
    Как минимум, вы должны изменить:
error_reporting  =  E_ALL | E_STRICT
display_errors = On
html_errors = On
extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20090626"

 (Мне нравится видеть мои ошибки в xdebug ярко-оранжевым!)

Кроме того, измените все экземпляры /var/mysql/mysql.sock на /tmp/mysql.sock 

Xdebug

Не может быть среды разработки PHP без xdebug ! Apple, кажется, соглашается, поскольку Горный Лев отправляет с этим.

  1. vim /etc/php.ini
  2. Найдите строку
    :; zend_extension = «/ usr / lib / php / extensions / no-debug-non-zts-20090626 / xdebug.so»
    и удалите точку с запятой в начале
  3. Если вы хотите настроить параметры xdebug, прокрутите до конца файла и найдите раздел [xdebug]. Мне нравятся эти настройки:
    xdebug.var_display_max_children = 999
    xdebug.var_display_max_data = 99999
    xdebug.var_display_max_depth = 100
    

    (используйте с осторожностью…)

  4. Перезапустите apache: sudo apachectl перезапустите и проверьте в phpinfo, что xdebug теперь загружен.

ГРУША

Нам нужна груша! По какой-то причине он не настроен на Lion, но установочный файл phar находится здесь, поэтому нам просто нужно его запустить.

  1. cd / usr / lib / php
  2. sudo php install-pear-nozlib.phar
  3. Отредактируйте / etc / php.ini и найдите строку:; include_path = «.: / Php / includes» и измените ее на:
    include_path = «.: / Usr / lib / php / pear»
  4. Обновление канала sudo pear Pear.php.net
  5. Обновление канала sudo pecl pecl.php.net
  6. судо груша апгрейд-все

PHPUnit и друзья

Я предполагаю, что это нужно всем …

    sudo pear config-set auto_discover 1
    sudo pear install phpunit/PHPUnit
    sudo pear install phpunit/phpcpd
    sudo pear install PHP_CodeSniffer

PECL OAuth

Несколько проектов, над которыми я работаю, используют компонент PECL OAuth :

  1. Убедитесь, что вы установили Xcode из Mac App Store
  2. Загрузите последний исходный код PCRE с http://sourceforge.net/projects/pcre/files/pcre/ и разархивируйте в папку на рабочем столе.
  3. cd ~ / Desktop / pcre-8.12
  4. ./configure
  5. sudo cp pcre.h / usr / include /
  6. Удалите папку pcre на рабочем столе, так как она вам больше не нужна
  7. sudo pecl установить oauth
  8. Отредактируйте / etc / php.ini и добавьте эти строки в конец файла:
    [oauth]
    extension="/usr/lib/php/extensions/no-debug-non-zts-20090626/oauth.so"
  9. Перезапустите apache: sudo apachectl restart и проверьте в phpinfo, что OAuth теперь загружен.

Mcrypt

Это полезно! Следуйте инструкциям в статье «Подключение mcrypt к PHP» в Mac OS X Lion 10.7 от Michale Gracie. Прочитайте комментарии, хотя для 10.8 необходимых изменений.
В итоге:

  1. Загрузите libmcrypt-2.5.8 из sourceforge
  2. Загрузите правильный исходный код PHP здесь . На момент написания статьи вам нужна версия 5.3.13 .
  3. Установите XCode из Mac App Store, а затем установите инструменты командной строки из XCode
  4. Установите автоконф, используя homebrew .
  5. Извлеките исходный код libmcrypt и PHP в ~ / Desktop / src.
  6. Скомпилируйте и установите libmcrypt. Введите эти строки в терминал:

    1. cd ~ / Desktop / src / libmcrypt-2.5.8
    2. MACOSX_DEPLOYMENT_TARGET = 10.8 CFLAGS = ‘- O3 -необщий -арх i386 -arch x86_64’ LDFLAGS = ‘- O3 -арх i386 -arch x86_64’ CXXFLAGS = ‘- O3 -fno-common -arch i386 -arch x86f64’ /. —disable-отслеживание зависимостей
    3. сделать -j6
    4. sudo make install
  7. Скомпилируйте и установите расширение crypt PHP. Введите эти строки в терминал:

    1. cd ~ / Desktop / src / php-5.3.13 / ext / mcrypt
    2. phpize
    3. MACOSX_DEPLOYMENT_TARGET = 10,8 CFLAGS = ‘- O3 -необщий -арх i386 -arch x86_64’ LDFLAGS = ‘- O3 -арх i386 -arch x86_64 ′ CXXFLAGS =’ — O3 -fno-common -arch i386 -arch x86figure. —with-PHP-конфигурации = / Applications / Xcode.app / Содержание / Разработчик / Платформы / MacOSX.platform / Разработчик / SDKs / MacOSX10.8.sdk / USR / бен / PHP-конфигурации
    4. сделать -j6
    5. sudo make install
    6. Добавьте расширение = mcrypt.so в конец /etc/php.ini, используя ваш любимый текстовый редактор.
    7. Перезапустите Apache с помощью sudo apachectl restart
    8. Откройте файл info.php и убедитесь, что Crypt установлен

Все равно на этой машине все работает ?

Другие опции

Если вы предпочитаете использовать упакованную версию, то это две альтернативы: