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

Apache2 отказывается обрабатывать php файлы - «Snow Leopard» OSX 10.6.4

У меня macbook pro i5.
я понимаю, что по умолчанию он должен иметь возможность обслуживать php5.
я раскомментировал соответствующую строку в /etc/apache2/httpd.conf

LoadModule php5_module        libexec/apache2/libphp5.so

Я перезапустил apache с помощью

sudo apachectl -k restart

и когда я пытаюсь получить доступ к файлу с расширением php, Apache предлагает мне загрузить файл. т.е. вместо того, чтобы обрабатывать php и отправлять мне html, он думает, что я хочу загрузить файл ....

когда я смотрю в журнал ошибок apache, я вижу это

[Пт, 12 ноября, 10:16:14 2010] [уведомление] Apache / 2.2.14 (Unix) PHP / 5.3.2 mod_ssl / 2.2.14 OpenSSL / 0.9.8l DAV / 2 mod_wsgi / 3.2 Python / 2.6.1 настроен - - возобновление нормальной работы

так что похоже, что php5 загружается правильно.

Я бы тоже хотел знать:
Как это исправить?
или
Как переустановить apache2 так, как будто я только что установил ос?

заранее спасибо


Обновить @Zayne - в конце моего httpd.conf

Include /private/etc/apache2/other/*.conf

и у меня есть файл /etc/apache2/other/php.conf с содержимым

<IfModule php5_module>
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

    <IfModule dir_module>
        DirectoryIndex index.html index.php
    </IfModule>
</IfModule>

@Zayne Я уже скопировал php.ini.default в php.ini в той же папке. когда я бегу

sudo apachectl configtest

я получил

/usr/sbin/apachectl: line 82: ulimit: open files: cannot modify limit: Invalid argument
httpd: Could not reliably determine the server's fully qualified domain name, using ::1 for ServerName
Syntax OK

Кроме того, я решил попробовать

apachectl -M

который показывает все загруженные модули. Самое главное в списке загруженных модулей, которые я получил

Loaded Modules:
 php5_module (shared)

Поскольку модуль загружается, похоже, что проблема больше связана с тем, чтобы apache использовал движок php для обработки файлов php .... так что-то не так с директивой ifmodule?

Совершенно новый Macbook, чистая установка, я сделал:

sudo cp /etc/php.ini.default /etc/php.ini

и раскомментировал строку в /etc/apache2/httpd.conf:

LoadModule php5_module        libexec/apache2/libphp5.so

затем побежал:

sudo apachectl restart

и это сработало.

Я знаю, что прошло немного времени после того, как об этом спросили, но я просто macported мой стек AMP и отключил apache по умолчанию таким образом, я не связываюсь с версией системы по умолчанию

Вам нужно сообщить apache, что делать с файлами расширения .php. Итак, конфиги должны где-то включать строки, похожие на:

<IfModule mod_php5.c>
  AddType application/x-httpd-php .php .phtml .php3
  AddType application/x-httpd-php-source .phps
</IfModule>

При необходимости раскомментируйте / добавьте и сообщите нам, если это не поможет.


ОБНОВИТЬ

У вас больше нет Mac для тестирования, поэтому я немного почитал, и кажется, что следующие действия - это все, что необходимо для включения PHP и apache2 в Snow Leopard:

  • включить LoadModule для PHP (что вы уже сделали)
  • проверьте конфигурацию apache, запустив apachectl configtest
  • скопировать /etc/php.ini.default файл в /etc/php.ini, и сделать его читаемым для пользователя apache

Не уверен, пробовали ли вы последние два - не могли бы вы попробовать и сообщить нам, поможет ли это?