4

Я использую iMac, который я только что обновил до macOS Sierra. До этого здесь управлял El Capitan.

Под моей настройкой El Capitan у меня были настроены Apache, PHP и MySQL согласно этому руководству. Это работало без проблем.

Когда я обновился до Sierra, он перезаписал множество файлов конфигурации. Поэтому я вернулся к руководству и настроил все так, как это делал в El Capitan.

http://localhost работает так, как я ожидал, и я вижу файлы в своем webroot. Однако, если я открою страницу PHP, она просто показывает сырой код PHP, а не выполняет его.

Я использую следующее:

апаш

  • Версия сервера: Apache/2.4.23 (Unix)
  • Построен сервер: 8 августа 2016 16:31:34

PHP

  • PHP 7.0.10 (cli) (сборка: 31 августа 2016 г., 10:25:51) (NTS)

Macos

  • Сьерра 10.12

5 ответов5

12

Sierra поставляется с PHP 5, а не с PHP 7. В любом случае, проверьте, загружен ли модуль в httpd.conf:

LoadModule php5_module libexec/apache2/libphp5.so

Если это не работает, возможно, вы не сказали Apache распознавать файлы * .php как исполняемые файлы php. Для этого найдите и отредактируйте httpd.conf и добавьте следующие строки (если их еще нет):

<FilesMatch .php$>
    SetHandler application/x-httpd-php
</FilesMatch>

и измените параметр DirectoryIndex :

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

Другое распространенное решение - активировать короткие открытые теги (если они есть в вашем PHP-коде). Найдите php.ini , найдите строку short_open_tag = Off и измените ее на short_open_tag = On .

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

2

Ваш apache больше не обрабатывает php файлы. Есть линия

LoadModule **php5_module** libexec/apache2/**libphp5.so**

в вашем конфигурационном файле /etc/apache2/httpd.conf

Но вы установили PHP7. Измените это на:

LoadModule **php7_module** libexec/apache2/**libphp7.so**

или может быть modules/mod_php.so или всякий раз, когда находится модуль php.

1

Убедитесь, что #LoadModule php5_module libexec/apache2/libphp5.so в основном файле httpd.conf закомментирована . Не забудьте перезапустить Apache sudo apachectl restart .

-1

У меня тоже была эта проблема. Проверьте ваш /private/ect/apache2/extra/htttpd-vhosts.conf, чтобы узнать, все ли еще есть настройки ваших виртуальных хостов. Мой оригинальный был переименован в httpd-vhosts.conf ~ previous.

-1

Вы не можете открыть файл .php с помощью открытого файла из меню «Файл» браузера. Вы должны ввести localhost/info.php(или любой файл и путь, который вы пытаетесь открыть) в адресной строке браузера ... Это работает для меня по крайней мере. Надеюсь, вы решите это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .