Самый простой способ активировать PHP и MySQL в Mac OS 10.6 (Snow Leopard), 10.7 (Lion), 10.8 (Mountain Lion)?


102

Какой самый простой способ активировать PHP и MySQL в Mac OS 10.6 (Snow Leopard), 10.7 (Lion), 10.8 (Mountain Lion)?

Я бы предпочел использовать любые связанные версии, прежде чем прибегать к загрузке с веб-сайтов PHP или MySQL. Это также исключает MAMP и тому подобное.

Мне удобно работать с командной строкой в ​​Терминале.

Ответы:


142

Откройте хороший текстовый редактор (я бы порекомендовал TextMate, но подойдет и бесплатный TextWrangler, vi или nano) и откройте:

/etc/apache2/httpd.conf

Найдите строку:

"#LoadModule php5_module        libexec/apache2/libphp5.so"

И раскомментируйте его (уберите #).

Загрузите и установите последнюю версию MySQL с mysql.com. Выберите версию x86_64 для Intel (если только ваш Intel Mac не является исходным Macbook Pro или Macbook, которые не являются 64-разрядными чипами. В таких случаях используйте 32-разрядную версию x86).

Установите все компоненты MySQL. Используя панель pref, запустите MySQL.

В Pref системы общего доступа включите (или, если он уже был включен, выключите / включите) общий доступ через Интернет.

Теперь у вас должен быть запущен Apache / PHP / MySQL.

В версиях 10.4 и 10.5 необходимо было изменить файл php.ini, чтобы он указывал на правильное расположение mysql.sock. Есть сообщения, что это исправлено в 10.6, но, судя по некоторым комментариям ниже, это не относится ко всем нам.


10
если кому-то еще интересно, где же php.ini, его нет! но вы можете добавить его /etc, скопировав /etc/php.ini.defaultв/etc/php.ini
cregox

11
а страница "Это работает" находится под/Library/WebServer/Documents/index.html.en
cregox

1
В конце мне пришлось скопировать файл php.ini.default в php.ini, и файлы PHP начали выполняться, как и должно быть.
kiamlaluno

3
Чтобы использовать MySQL, мне также пришлось изменить сокет по умолчанию, которым в моем случае был /tmp/mysql.sock (я установил MySQL 5.5).
kiamlaluno

7
Кроме того, после сохранения .conf вы можете просто использовать эту команду sudo apachectl restartвместо того, чтобы отключать общий доступ к сети.
aaaidan

17

Чтобы завершить настройку MySQL:

sudo vim /etc/profile
  1. Добавить псевдоним

    alias mysql=/usr/local/mysql/bin/mysql
    alias mysqladmin=/usr/local/mysql/bin/mysqladmin
  2. Затем установите пароль root

    mysqladmin -u root password 'yourPassword'
  3. Затем вы можете войти с помощью

    mysql -u root -p

Мне это нравится! Вместо того, чтобы возиться с PATH, добавьте псевдоним +1
brutuscat

1
Также не забудьте закрыть / повторно открыть сеанс Терминала, чтобы ваши псевдонимы вступили в силу.
gravyface

4

Я сильно предпочитаю HomeBrew MacPorts для установки программного обеспечения из исходников.

HomeBrew изолирует все в / usr / local / Cellar, чтобы файлы не разбрасывались повсюду. (Да, MacPorts хранит все в / opt / local, но для этого требуется доступ sudo, и я не доверяю MacPorts с root.)

Установить MySQL очень просто:

brew install mysql
mysql_install_db

Чтобы запустить mysql, в Терминале введите:

mysqld&

Есть способ запустить его при загрузке, но мне нравится запускать его вручную.


"brew link mysql" создаст ряд символических ссылок в / usr / local / bin и т. д.
Герцог

Я не уверен, что понимаю комментарий «беспорядочно извергать файлы». MacPorts изолирует все в / opt / local, поэтому это кажется эквивалентным. Я полагаю, что иногда я видел что-то помещенное в / Applications / MacPorts (например, AquaTerm для gnuplot), но это очень редкое исключение и обычно по уважительной причине (например, AquaTerm - это пакет .app), и даже тогда он сохраняет его. организованы в едином каталоге ...
Итан,

1
О, и мне проще просто добавить / opt / local / bin в мой $ PATH и -I / opt / local / include в CPPFLAGS, -L / opt / local / lib в LDFLAGS, и тогда не нужно помнить для настройки ссылок для каждого устанавливаемого пакета ...
Итан,

Мое использование символической ссылки было частично основано на незнании; это совершенно не нужно. Я просто не доверяю большим установочным скриптам с рутом. И если вы не думаете, что MacPorts распространяет файлы по многим каталогам, просто посмотрите инструкции по удалению: guide.macports.org/chunked/…
Герцог

4

Это невидимая папка. Просто нажмите Command+ Shift+ G(переход к пункту меню «Перейти к папке») и введите/etc/ .

Затем вы попадете в эту папку.


3

Это мне очень помогает:

http://maestric.com/doc/mac/apache_php_mysql_snow_leopard

Он также работает с Mac OS X Lion: D

.:РЕДАКТИРОВАТЬ:. В моем случае prefepane позволяет запускать и останавливать mysql, но после некоторых проблем я удалил его. Если вам нужно приложение для выполнения запросов и создания БД, вы можете использовать: Sequel Pro (бесплатно) или Navicat.

Если вам нужно запустить и остановить mysql в ~ / .bash_profile, вы можете добавить эти строки:

#For MySQL
alias mysql_start="/Library/StartupItems/MySQLCOM/MySQLCOM start"
alias mysql_stop="/Library/StartupItems/MySQLCOM/MySQLCOM stop"

После перезагрузки консоли просто позвоните:

$mysql_start 

или

$mysql_stop 

добиваясь желаемого действия. Надежда вам помогла.


Работает ли предварительная панель MySQL в Lion? То есть можно ли включить / выключить MySQL?
Мэтт Сефтон

1
мне не нужна prefpane, но это решит ваш вопрос? : stackoverflow.com/questions/3027479/…
workdreamer

Но prefpane позволяет только запускать и останавливать mysql. Я отредактировал свой пост, потому что здесь он не отформатирован.
workdreamer

1

Я бы согласился с Бенджамином, установи либо MAMP, либо MacPorts ( http://www.macports.org/ ). Раздельная установка PHP проще и позволяет избежать испортить установку ядра PHP, если вы сделаете какие-либо ошибки!

MacPorts немного лучше подходит для установки другого программного обеспечения, такого как ImageMagick. См. Полный список доступных портов на http://www.macports.org/ports.php

MAMP действительно поддерживает PHP, Apache и MySQL, поэтому любые будущие модули PHP, которые вы захотите, нужно будет включать вручную. Тем не менее, им невероятно легко пользоваться.


0

Учитывая, что он еще не выпущен, я предполагаю, что это вопрос на будущее, или у вас есть сборка разработчика. Как сказал Бенджамин, MAMP - самый простой способ. Однако, если вам нужна собственная установка, процесс должен быть похож на 10.5. PHP устанавливается в OS X по умолчанию (не всегда активируется для некоторых), просто загрузите 32-разрядную версию MySQL, запустите Apache, и все будет в порядке. Возможно, вам придется настроить Apache для PHP или MySQL, в зависимости от имеющихся сборок. Мне не нужно было ничего настраивать, чтобы он работал.


Из интереса - Snow Leopard поддерживает 64-разрядную версию, так зачем выбирать 32-разрядную версию MySQL?
Мэтт Сефтон,

1
Я считаю, что Leopard и даже Tiger по большей части поддерживают 64-разрядные версии. У 64-битного MySQL есть некоторые проблемы с некоторыми другими пакетами, не обязательно напрямую связанными с PHP, но, допустим, он пробовал Python в дальнейшем - 64-битный MySQL вызывает серьезные проблемы с пакетом MySQLDB. Он полностью пригоден для использования, но, к сожалению, еще не все.
machuga

0

К вашему сведению - если у кого-то возникают проблемы с запуском Apache и возникают ошибки о

/usr/sbin/apachectl: line 82: ulimit: open files: cannot modify limit: Invalid argument

это из-за недавнего обновления Apache в Snow Leopard. Исправить легко, просто откройте /usr/sbin/apachectlи установитеULIMIT=""

http://blog.deversus.com/2010/11/mac-os-1065-apachectl-usrsbinapachectl-line-82-ulimit-open-files-cannot-modify-limit-invalid-argument/


0

Если вы обновились до Mac OS X 10.8 Mountain Lion и ранее имели работающую систему, все, что вам нужно сделать, это повторно включить PHP, как в шаге 1 выбранного выше ответа.

Вы также можете найти следующую панель предпочтений, полезную для управления "общим доступом в Интернет" (веб-сервер Apache), которая заменяет системные функции, удаленные в OS X 10.8: http://clickontyler.com/blog/2012/02/web-sharing-mountain -lion /

Мне также пришлось повторно добавить строку включения виртуальных хостов в httpd.conf


0

В дополнение к собственным версиям, но вы можете попробовать BitNami MAMP Stacks (отказ от ответственности, я один из разработчиков). Это полностью бесплатные, универсальные пакеты Apache, MySQL, PHP и нескольких других сторонних библиотек и утилит, которые полезны при локальной разработке. В частности, они полностью автономны, поэтому вы можете иметь несколько установленных одновременно, с разными версиями Apache и MySQL, и они не будут мешать друг другу. Вы можете получить их на http://bitnami.org/stack/mampstack или прямо из магазина приложений Mac OS X https://itunes.apple.com/app/mamp-stack/id571310406


0

ammps было очень просто для меня, и у него хорошая веб-конфигурация:


Я предпочитаю стандартные версии в комплекте, пожалуйста, посмотрите вопрос.
Мэтт Сефтон,

0

Здесь есть отличный гид:

https://discussions.apple.com/docs/DOC-3083

Однако с первой попытки у меня ничего не вышло. Я нашел этот совет: запустите "httpd -t" в Terminao, чтобы проверить синтаксис ваших файлов конфигурации. Оказалось, что использование копирования и вставки из учебника ввело несколько странных персонажей. После исправления все заработало. Также есть несколько ссылок из руководства по добавлению MySQL.

Это сработало для меня намного лучше, чем MAMP. С MAMP у меня были задержки около 20 секунд, прежде чем изменения в файле .php отразились бы в браузере при обновлении, даже если вы очистили кеш, историю, файлы cookie и т. Д.

Эта проблема была решена в MAMP PRO, но у MAMP PRO была собственная новая проблема: файлы .php загружались, а не отображались как страница в браузере! Я связался со службой поддержки, и они не знали, что происходит.

У встроенного сервера Apache не было ни одной из этих проблем. Определенно лучший способ. Приведенное ниже руководство почти идентично приведенному выше, но в нем есть полезные комментарии пользователей:

http://osxdaily.com/2012/09/02/start-apache-web-server-mac-os-x/#comment-572991

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.