Apache показывает PHP-код – после обновления на Mac до macOS Sierra

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

Под моей настройкой El Capitan у меня были Apache, PHP и MySQL, настроенные в соответствии с этим руководством: https://coolestguidesontheplanet.com/get-apache-mysql-php-and-phpmyadmin-working-on-osx-10-11-el -capitan / . Это без проблем.

Когда я обновился до Sierra, он перезаписал загрузку конфигурационных файлов. Поэтому я вернулся через проводника и сконфигурировал все, что было при Эль Капитане.

Http: // localhost работает так, как я ожидал, и я могу видеть файлы на своем веб-сайте. Однако, если я открываю страницу 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: Sierra 10.12

4 Solutions collect form web for “Apache показывает PHP-код – после обновления на Mac до macOS Sierra”

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.

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

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

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

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

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

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

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

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

  • file_put_contents (meta / services.json): не удалось открыть stream: Permission denied
  • Как получить доступ к многомерному массиву и управлять им с помощью имен / путей ключа?
  • Как разрешить «должен быть экземпляр строки, строка, заданная» до PHP 7?
  • PHP для Mac OS X
  • Преобразование относительного пути в абсолютный URL с помощью PHP
  • Неустранимая ошибка: вызов неопределенной функции sqlsrv_connect ()
  • Невозможно добавить пространство имен в атрибут с помощью SimpleXML PHP
  • php mysqli_connect: метод проверки подлинности, неизвестный клиенту
  • Экспорт данных MySQL в Excel в PHP
  • PHP Неустранимая ошибка: вызов неопределенной функции mssql_connect ()
  • «Примечание: неопределенная переменная», «Примечание: неопределенный индекс» и «Примечание: неопределенное смещение» с использованием PHP
  • Давайте будем гением компьютера.