Это снова время; Apple выпустила новую версию OS X 10.10 Yosemite. Apple поставляет PHP 5.5.14 с Yosemite, и это как установить его из чистой установки.
Однако, если вы не хотите использовать встроенный PHP или хотите использовать версию 5.6, то вот некоторые альтернативы:
- PHP 5.3 / 5.4 / 5.5 для OS X 10.6 / 10.7 / 10.8 / 10.9 / 10.10 в виде бинарного пакета от Liip
- Доморощенный имеет PHP .
- Zend Server 7.x (оплачивается)
Давайте начнем…
Homebrew
Homebrew — менеджер пакетов для OS X. Установите его, так как он понадобится нам позже.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Вам также понадобятся инструменты командной строки Xcode — по крайней мере, версия 6.1. Обычно вы устанавливаете, используя
xcode-select —install, однако на момент написания этой статьи Xcode 6.1 недоступен в Mac App Store, поэтому используйте эту прямую ссылку . Не забудьте запустить Xcode…
Примечание: если / usr / include не существует, то вам нужно сделать:
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include /usr/include
MySQL
- Загрузите «Mac OS X 10.9 (x86, 64-bit), DMG Archive» с mysql.com и установите pkg.
- Откройте панель настроек и запустите MySQL Server.
- Обновите путь, отредактировав ~ / .bash_profile и добавив:
export PATH=~/bin:/usr/local/bin:/usr/local/mysql/bin:$PATH
в верхней части файла.
- Установите пароль 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, чтобы {новый-пароль} не отображался на диске в виде простого текста.
- Теперь убедитесь, что файл mysql.sock можно найти с помощью PHP:
- Убедитесь, что MySQL работает
- sudo mkdir / var / mysql
- sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
апаш
В Yosemite установлен Apache 2.4.9. Нам просто нужно использовать командную строку, чтобы запустить и остановить ее.
Одно из изменений по сравнению с 2.2.x, которое стоит отметить, заключается в том, что теперь в наших определениях виртуальных хостов нам нужна директива «Требовать все предоставлено» вместо «Разрешить от всех». Прочитайте документацию по обновлению для получения дополнительной информации.
- cd / etc / apache2
- Отредактируйте /etc/apache2/httpd.conf
- Чтобы включить PHP и переписать в Apache, удалите начальный # из этих двух строк:
#LoadModule rewrite_module libexec/apache2/mod_rewrite.so #LoadModule php5_module libexec/apache2/libphp5.so
- Найдите раздел <Directory «/ Library / WebServer / Documents»> и измените:
AllowOverride None на AllowOverride All, чтобы файлы .htaccess работали,
и Options FollowSymLinks Multiviews для Options FollowSymLinks Multiviews Indexes, чтобы мы могли просматривать списки каталогов.
- Чтобы включить PHP и переписать в Apache, удалите начальный # из этих двух строк:
- Перезапустите Apache: sudo apachectl restart
- Дайте себе права доступа к папке / Library / WebServer / Documents / с помощью команд терминала:
- Сотрудники sudo chgrp / Библиотека / WebServer / Документы
- sudo chmod g + rws / Библиотека / WebServer / Документы
- sudo chmod g + rw / Библиотека / WebServer / Документы / *
- Откройте Finder и перейдите в / Library / WebServer / Documents / используя shift + cmd + g
- Создайте новую папку с именем «orig» и поместите в нее все файлы, находящиеся в данный момент в папке «Documents».
- Создайте новый файл с именем info.php с помощью <? Php phpinfo (); внутри него.
- Используйте Safari, чтобы перейти на http: //localhost/info.php и проверить, отображается ли версия PHP (5.5.14 на момент написания).
php.ini
- CD / и т. д.
- sudo cp php.ini.default php.ini
- sudo chmod ug + w php.ini
- sudo chgrp admin php.ini
- Отредактируйте php.ini и измените настройки соответствующим образом.
Как минимум, вы должны изменить:date.timezone = "Europe/London" error_reporting = E_ALL display_errors = On
Xdebug
Не может быть среды разработки PHP без xdebug ! К счастью, Yosemite поставляется с ним, готовым включить:
- Отредактируйте /etc/php.ini и добавьте эту строку в конец:
zend_extension = "xdebug.so"
- Если вы хотите настроить параметры xdebug, добавьте раздел [xdebug]. Мне нравятся эти настройки (используйте с осторожностью …):
xdebug.var_display_max_children = 999 xdebug.var_display_max_data = 999 xdebug.var_display_max_depth = 100
- Перезапустите apache: sudo apachectl перезапустите и проверьте в phpinfo, что xdebug теперь загружен.
Композитор
Установите Composer в / usr / local / bin:
- cd / usr / local / bin
- curl -sS https://getcomposer.org/installer | PHP
- mv composer.phar composer
ГРУША
PEAR нам нужен исключительно для установки расширений PHP с использованием PECL. Нам просто нужно запустить файл установки phar.
- cd / usr / lib / php
- sudo php install-pear-nozlib.phar
- Обновление канала sudo pear Pear.php.net
- Обновление канала sudo pecl pecl.php.net
- судо груша апгрейд-все
- Конфигурация sudo pear-auto_discover 1
Компиляция расширений
Для компиляции расширений вам понадобятся инструменты командной строки Xcode и autoconf.
brew установить autoconf
Расширение Intl
Если вам нужно Locale :
- заваривать установить icu4c
- sudo pecl install intl
Путь к библиотекам и заголовкам ICU: / usr / local / opt / icu4c / - Отредактируйте /etc/php.ini и добавьте extension = intl.so в конец.
Расширение Mcrypt
Во-первых, установите mcrypt:
- заварить установить Mcrypt
Теперь расширение PHP:
- варка крана доморощенный / дупс
- brew tap homebrew / версии
- варить кран homebrew / php
- Отредактируйте /usr/local/Library/Taps/homebrew/homebrew-php/Abstract/abstract-php-extension.rb и патч в соответствии с этим патчем . (По крайней мере, пока этот пиар не будет принят!)
- brew install php55-mcrypt —without-homebrew-php
- Включить:
- sudo mkdir -p / Библиотека / Сервер / Интернет / Конфигурация / php
- sudo ln -s /usr/local/etc/php/5.5/conf.d/ext-mcrypt.ini /Library/Server/Web/Config/php/ext-mcrypt.ini
Наконец, перезапустите apache: sudo apachectl restart.
Это оно! Все равно на этой машине все работает ?
Как я уже отмечал выше, если вы не хотите делать все это самостоятельно, есть другие варианты, доступные для PHP на OS X, которые могут работать лучше для вас.