Mac Mojave - не может выполнять файлы php с веб-сервером Apache2

Mac OS 10.14 - Мохаве:

не может запускать веб-страницы php на сервере Apache2:

Файл Apache Logger показывает загрузку модуля PHP:

[Вс, 04 ноября, 01:15: 44.594704 2018] [mpm_prefork: notice] [pid 31049] AH00163: Apache / 2.4.34 (Unix) PHP / 7.1.19 настроен - возобновление нормальной работы [Вс, 04 ноября, 01: 15: 44.594789 2018] [core: notice] [pid 31049] AH00094: Командная строка: '/ usr / sbin / httpd -D SERVER_APP_HAS_DEFAULT_PORTS -D FOREGROUND'

$> php -v в командной строке показывает версию 7.1.19:

PHP 7.1.19 (cli) (построено: 17 августа 2018, 18:03:17) (NTS) Авторские права (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

Идеи?


person Nick    schedule 04.11.2018    source источник
comment
хммм, установка порта httpd.conf на 8080 позволяет локальному хосту: 8080 / info.php работать правильно .... глядя на настройку порта на значение по умолчанию ....   -  person Nick    schedule 04.11.2018
comment
поясните, где и когда вы получаете сообщение не удается запускать веб-страницы php на сервере Apache2   -  person YakovL    schedule 04.11.2018
comment
YakovL - Веб-страницы Mac Mojave 10.14, которые я использовал для запуска на ноутбуке Server / Apache2, но с обновлением Mojave я активировал Apache2 отдельно от приложения Server. Итак ... php, который использовался для запуска с низким адресом порта, перестал работать. Все, что я вижу, это исходный код страницы php на нижнем порте. На порту 8080 работает нормально. Этого достаточно, но я хотел бы понять, почему я не могу использовать более низкий порт. Запустите Apache2 httpd с правами root. root # php --version PHP 7.1.19 (cli) (построено: 17 августа 2018 г. 20:10:18) (NTS) Авторские права (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998- 2018 Zend Technologies Ник   -  person Nick    schedule 06.11.2018


Ответы (2)


Мне пришлось добавить это в частный / etc / apache2 / httpd.conf (или, если вы предпочитаете, в файл .htaccess, например, ~ / Sites / .htaccess).

# PHP 7 specific configuration
<IfModule php7_module>
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    <IfModule dir_module>
        DirectoryIndex index.html index.php
    </IfModule>
</IfModule>
person Igor    schedule 05.11.2018
comment
Нет. Не сработало. Уже есть что-то подобное, хотя я тоже пробовал это. По-прежнему работает только на высоком (8080) порте, а не на низком (80). - person Nick; 06.11.2018
comment
Это сработало для меня. Обновился с macos sierra до mojave. Неожиданный сюрприз Apache и PHP теперь разошлись. Скопированный httpd.conf ~ до httpd.conf и apache теперь работает, но PHP не выполняет только вывод исходного кода. Отредактировал httpd.conf для загрузки модуля php 7, а не 5.6, PHP все еще не выполняется. Добавил блок ifmodule из этого ответа в httpd.conf, выписал, перезапустил apache, PHP теперь выполняется. Удалил все, кроме строки AddType application / x-httpd-php .php изнутри блока, и он по-прежнему работает нормально. В другом месте уже был IfModule dir_module. - person Yabsley; 02.06.2019
comment
Это сработало. Для меня мой файл конфигурации был в /usr/local/etc/httpd/httpd.conf Я добавил эту строку в LoadModule php7_module /usr/local/opt/php/lib/httpd/modules/libphp7.so Что я получил, когда я установлен PHP - person Ndeto; 16.07.2019
comment
Это тоже работает ... поэтому раздражает наличие /usr/local/etc/apache2/2.4/httpd.conf этого conf вместо существующего предыдущего / etc / apache2 /? .. - person Jean-Luc Barat; 27.07.2019

Раскомментируя строку:

LoadModule php7_module libexec/apache2/libphp7.so

в файле /etc/apache2/httpd.conf и перезапустите apache

apachectl restart

работал у меня.

person Victor Rivas    schedule 06.11.2018
comment
Увы, нет: root # grep -C1 php httpd.conf LoadModule rewrite_module libexec / apache2 / mod_rewrite.so LoadModule php7_module libexec / apache2 / libphp7.so #LoadModule perl_module libexec / apache2 / mod_perl.module ›- # ‹p application / x-httpd-php .php AddType application / x-httpd-php-source .phps ‹IfModule dir_module› - - ‹IfModule dir_module› DirectoryIndex index.php index.html ‹/IfModule› - person Nick; 07.11.2018
comment
Это проблема с разрешениями связанного Apache в macOS Mojave. Модуль PHP - это беззнаковый модуль, поэтому ему не разрешено загружаться. То же самое происходит с другими модулями из других источников. Пока что единственный рекомендуемый обходной путь - отключить встроенный Apache и установить Apache Homebrew. stackoverflow.com/ questions / 52505052 / - person WilGeno; 13.11.2018