Назад | Перейти на главную страницу

Настройка Apache и PHP в Mac OS X Snow Leopard

Я недавно купил Apple iMac. К сожалению, включение Apache и PHP вызвало некоторые проблемы.

Я включил встроенный веб-общий доступ Mac через системные настройки, после чего я получил вывод и мог добавлять HTML-файлы в свой каталог пользователя. Однако файлы PHP отображались, а не интерпретировались. Затем я обнаружил, что это связано с тем, что PHP не включен по умолчанию в настройке Mac Apache.

После быстрого поиска в Google я наткнулся на эту страницу: http://developer.apple.com/mac/articles/internet/phpeasyway.html

Я перешел в раздел, Включение PHP в Apache, скопируйте и вставьте следующий фрагмент кода в новое окно Терминала и нажмите Return:

set admin_email to (do shell script "defaults read AddressBookMe ExistingEmailAddress")
user_www=$HOME/Sites
filename=php-test
user_index=${user_www}/${filename}.php
user_db=${user_www}/${filename}-db.sqlite3
# NOTE: Having a writeable database in your home directory can be a security risk!

conf=`apachectl -V | awk -F= '/SERVER_CONFIG/ {print \$2}'| sed 's/"//g'`
conf_old=$conf.$$
conf_new=/tmp/php_conf.new

touch $user_db
chmod a+r $user_index
chmod a+w $user_db
chmod a+w $user_www

echo "Enabling PHP in $conf ..."
sed '/#LoadModule php5_module/s/#LoadModule/LoadModule/' $conf | sed
"s^you@example.com^<b>\$admin_email</b>^" > $conf_new

echo "(Re)Starting Apache ..."
osascript <<EOF
do shell script "/bin/mv -f $conf $conf_old; /bin/mv $conf_new $conf;
/usr/sbin/apachectl restart" with administrator privileges

EOF

К сожалению, это завершило брошенный Apache, и теперь ничего не обслуживается; вместо этого я получаю сообщение об ошибке «Не удалось открыть страницу», потому что он не может подключиться к серверу, несмотря на то, что общий доступ к сети все еще активен в системных настройках.

Поэтому я предполагаю, что мой вопрос заключается в следующем: как мне отменить изменения, сделанные путем копирования и вставки приведенного выше фрагмента кода? По общему признанию, я не понимаю, что произошло выше; Я просто подумал, что это похоже на команду Терминала, и попробовал. У меня нет опыта настройки Apache в Mac OS X (и я установил только XAMPP и WampServer в Windows).

Так что любые моменты, связанные с изменением вышеупомянутого, а затем успешным включением PHP, были бы замечательными.

РЕДАКТИРОВАТЬ: Я обнаружил, что через консоль записывается следующее сообщение об ошибке при попытке перейти к 127.0.0.1 ...

(org.apache.httpd) Throttling respawn: Will start in 10 seconds
no listening sockets available, shutting down
Unable to open logs
(org.apache.httpd[13453]) Exited with exit code: 1

Указывает ли это больше на проблему?

РЕДАКТИРОВАТЬ № 2: Теперь я получаю это в консоли ...

15/02/2010 21:24:14 osascript[3597] Error loading /Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types:  dlopen(/Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types, 262): no suitable image found.  Did find:
    /Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: no matching architecture in universal wrapper

Я предполагаю, что эта ваша машина не будет производственным сервером. Так что, если вы не хотите спорить с конфигурацией и можете установить МАМП. Это "готовый" веб-сервер, который включает Apache, PHP и MySql. Это хороший подход для быстрого функционального веб-сервера, он должен соответствовать вашим требованиям!

Я бы рекомендовал использовать ваш Apache и PHP через MacPorts. На его настройку уйдет немного времени, но в долгосрочной перспективе будет проще настраивать и поддерживать.

Судя по указанию в связанной статье (похоже, что они предназначены для Snow Leopard Server), похоже, что была создана резервная копия файла конфигурации.

Найдите в / etc / apache2 / файл httpd.conf.old Скопируйте его в / etc / apache2 / как httpd.conf

Пойдите простым путем и просто включите php внутри файла конфигурации.
- Удалите хеш перед строкой: LoadModule php5_module

Перезагрузите apache и посмотрите, как там дела.

Я настоятельно рекомендую использовать virtualbox для настройки виртуальной производственной среды на вашем Mac, а не убирать для этого установку на рабочем столе. Попробовав настроить собственный стек Mac AMP, установщик MAMP и виртуализированный стек LAMP, как только вы освоите его, виртуализированный стек LAMP станет, несомненно, наименьшей головной болью. Другая прелесть заключается в том, что вы можете раскручивать свою среду разработки вверх и вниз, когда вам это нужно, и вы можете легко переносить ее между машинами. Это хорошее руководство по настройке виртуального сервера ubuntu на рабочем столе ubuntu, это всего лишь пара настроек, позволяющих вместо этого настроить виртуальный сервер ubuntu на рабочем столе OS X.

http://kevin.vanzonneveld.net/techblog/article/how_virtualization_will_improve_your_code/