Как заставить php работать на Mac OS X?

Недавно я обновился до Lion и включил общий доступ к Интернету в Системных настройках, но не могу заставить работать php.

Я добавил информационный файл в корневой веб-каталог, и он выводит файл в виде текста.

info.php
with the content
<?php phpinfo(); ?>

person AJA    schedule 22.07.2011    source источник
comment
Обычно я устанавливаю виртуальную машину и ставлю на нее Debian. Он лучше организован для серверного программирования (IMNSHO).   -  person Quentin    schedule 22.07.2011
comment
@Quentin Это правда, но я обычно справляюсь со встроенными средствами плюс MySQL для простой веб-разработки, особенно вдали от дома - на MacBook Air вы не хотите занимать память или место на диске, которое у вас нет. не надо! :)   -  person Matt Gibson    schedule 22.07.2011
comment
Пожалуйста, сообщите нам здесь, чтобы опубликовать этот вопрос, если не на stackoverflow.com? Может ли superuser.com ответить на такой вопрос?   -  person tmadsen    schedule 10.09.2011


Ответы (6)


(Редактировать: этот метод отлично работает для 10.9 (Mavericks), 10.10 (Yosemite) и 10.11 (El Capitan), поэтому я решил упомянуть об этом для любого нового притока слегка разочарованных обновлений OS X: D)

Отредактируйте файл /etc/apache2/httpd.conf и убедитесь, что строка:

LoadModule php5_module libexec/apache2/libphp5.so

...существуют. Я думаю, что он закомментирован по умолчанию в стандартной конфигурации OS X, но, насколько я помню, вам просто нужно раскомментировать его, а затем перезапустить Apache:

sudo apachectl restart

И тебе должно быть хорошо идти.

person Matt Gibson    schedule 22.07.2011
comment
Отлично, это сработало для моей установки Lion... и лучше использовать уже существующее и доступное программное обеспечение, а не загружать дополнительное программное обеспечение и устанавливать его... - person Mahendra Liya; 25.08.2012
comment
Да, это работает с 10.9.5 из коробки, в том числе потому, что есть дополнительный файл конфигурации: /etc/apache2/other/php5.conf. Так что не боритесь с <ifmodule>... и т. д. - person peter_the_oak; 12.05.2015
comment
Это устранило проблему после того, как я обновился до El Capitan из Yosemite. - person frazras; 06.10.2015
comment
По-прежнему работает с MacOS Mojave 10.14.4, но обратите внимание, что строка для раскомментирования теперь называется #LoadModule php7_module libexec/apache2/libphp7.so Спасибо! - person George D Girton; 04.04.2019

ОБНОВЛЕНИЕ: обратите внимание, что это было написано для OS X до (High) Sierra. Если вы используете OSX 10.12 или новее, следуйте этому превосходному руководству от Энди Миллера: Установка Apache Catalina для macOS 10.15: несколько версий PHP


Я тоже люблю использовать вещи, которые в принципе уже есть. Я не понимаю, зачем кому-то использовать MAMP или AMPPS (или любое другое готовое веб-серверное приложение стороннего производителя), когда Mac OS X по умолчанию поставляется с apache и PHP.

Мне потребовалась пара попыток, чтобы заставить его работать, так что вот в основном то, что помогло мне, и, надеюсь, это поможет вам, ребята, сэкономить немного времени.

Как сказал Мэтт Гибсон, запустите терминал и введите: (sudo требует ваш пароль root)

sudo nano /etc/apache2/httpd.conf

Затем раскомментируйте эту строку, удалив «#» перед ней (ctrl+v можно использовать для перехода на страницу вниз)

LoadModule php5_module libexec/apache2/libphp5.so

Чтобы убедиться, что вы можете включать файлы и т. д. в PHP, прокрутите до «User _www» (в моем случае) и измените его на: (где «yourusername» — это пользователь, с которым вы входите)

User yourusername

Вы можете оставить группу как есть, «Группа _www» по умолчанию при новой установке OS X Mountain Lion.

По умолчанию apache ищет только index.html, поэтому найдите «DirectoryIndex index.html» и измените его на: (добавление index.html в конце, конечно, необязательно)

DirectoryIndex index.php index.html index.htm

Выйдите и сохраните, нажав ctrl+x (и подтвердите с помощью «y»)

Затем перезапустите апач:

sudo apachectl restart

Мой phpinfo(); вернулся с версией PHP 5.3.15

==================

Поскольку мне кажется полезным иметь мои локальные сайты в моем пользовательском каталоге, я создал каталог /Users/yourusername/Sites (которого по умолчанию больше нет в Mountain Lion).

Снова отредактируйте httpd.conf через «sudo nano /etc/apache2/httpd.conf» и…

Прокрутите вниз до «DocumentRoot» и измените его на: (где «yourusername» — это имя пользователя, с которым вы входите)

DocumentRoot "/Users/yourusername/Sites/"

Прокрутите до места, где написано «# Это должно быть изменено на то, на что вы установили DocumentRoot». и измените следующую строку на: (где «yourusername» — это имя пользователя, с которым вы входите)

<Directory "/Users/yourusername/Sites/">

Затем выйдите и сохраните, нажав ctrl+x (и подтвердите с помощью «y»)

Перезапустите апач.

person Ronaldt    schedule 29.03.2013
comment
Также протестировал его на OS X Yosemite, он работал отлично, как и ожидалось. - person Ronaldt; 21.06.2014
comment
Эти шаги ИДЕАЛЬНЫ! Благодарю вас! Это действительно сработало. (Йосемити 10.10.2) - person Herb Meehan; 20.06.2015

У меня есть для тебя одно слово. МАМП.

person cwallenpoole    schedule 22.07.2011
comment
Я люблю xampp, но он не работает на моем MacBook Pro с Lion, поэтому я здесь :) - person Doug Molineux; 31.08.2011
comment
@Pete Это не Xampp, это MAMP. Большая разница. - person cwallenpoole; 31.08.2011
comment
Конечно, лучше, чтобы мы способствовали пониманию неупакованных решений как использования того, что уже есть. Это не решает проблему, а находит другой способ что-то сделать - не так хорошо, IMO. - person landed; 19.02.2014
comment
@landed Лично я использую port install для всего. Не совсем уверен, что менеджер пакетов существенно отличается. - person cwallenpoole; 20.02.2014

Попробуйте phpbrew

Это простая сборка, установка инструмента для PHP любой версии.

person ydk2    schedule 26.03.2013

Для последней версии mac os, т. е. Mojave 10.14, выполните следующие действия, чтобы активировать PHP-сервер:

  1. Открытый терминал. Нажмите команду + пробел, введите терминал и нажмите ввод.

  2. Введите команду $ sudo nano /etc/apache2/httpd.conf, чтобы отредактировать файл httpd.conf в nano, встроенном редакторе файлов в macOS.

  3. Введите пароль.

  4. Теперь найдите loadmodule, нажав control+w.

  5. Найдите файл с именем #LoadModule php7_module libexec/apache2/libphp7.so

  6. Раскомментируйте файл, удалив символ # в самом начале модуля.

  7. Теперь выйдите из редактора, нажав control+x, нажмите y, чтобы сохранить изменения, и нажмите Enter, чтобы подтвердить изменения в файле httpd.conf.

  8. Теперь перезапустите сервер apache, введя команду

    $ sudo apachectl restart

  9. Сервер PHP должен быть запущен.

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

person Harman Gill    schedule 13.10.2018

После обновления MAC OSX до 10.14.5 мой конфигурационный файл Apache был новым, и все мои предыдущие настройки были заменены настройками по умолчанию.

Мне не удалось открыть файлы PHP в моем браузере. Я выполнил вышеуказанные шаги, и это решило проблему.

Примечание. В OSX 10.14.5 есть Php7.1.23.

Шаги, которым я следовал -

  1. Отредактируйте файл httpd.conf, расположенный в папке /etc/apache2/httpd.conf.
  2. Это ниже данный прямой эфир был прокомментирован. Я раскомментировал его, удалив знак #, сохранил файл httpd.conf и перезапустил службу apache.

LoadModule php7_module libexec/apache2/libphp7.so

  1. перезапуск sudo apachectl

Спасибо за решение, оценил вашу помощь друзья.

С уважением,

Вики Джадхав (Индия - Пуна)

person TrickyJ    schedule 04.06.2019