Рейтинг:0

PHP перестал работать на Ubuntu и Apache

флаг us

Я использую Ubuntu 18.04. У меня есть установка LAMP. В какой-то момент я понял, что мой PHP больше не работает. Я не использовал его некоторое время, поэтому, к сожалению, я не могу сказать, когда он перестал работать. Вполне могло быть, когда я обновился до Ubuntu 18.04 с 16.04.

Я рыскал по Интернету в поисках ответов на проблему и просто не смог заставить его работать. Вот информация о проблеме и о том, что я пробовал:

Я переустановил Apache2. Apache сам по себе работает, но PHP через Apache не работает: файлы .php отображают код, а не выполняют его. Или иногда страница .php просто пуста, за исключением html на странице. Страница с phpinfo(); функция на нем пуста.

Я тестирую, используя страницу .php с этим кодом:

     <h1>My PHP Info Page</h1>


<?php 

    phpinfo(); 

?> 

Я захожу на эту страницу через браузер Chrome: http://localhost/~username/Testing/info.php

Появляется только фраза «Моя страница информации PHP». Остальная часть страницы пуста.

Я использую php7.2.

Когда я набираю «php -v» в терминале, я получаю:

PHP 7.2.24-0ubuntu0.18.04.10 (cli) (построено: 25 октября 2021 г., 17:47:59) (NTS) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) Zend Technologies, 1998–2018 гг. с Zend OPcache v7.2.24-0ubuntu0.18.04.10, Copyright (c) 1999-2018, Zend Technologies

Я запускал эти команды в терминале в разных точках:

sudo a2dismod mpm_event && sudo a2enmod mpm_prefork && sudo a2enmod php7.2

судо a2enmod php7.2 судо a2dismod php7.0 судо a2dismod php5

Я добавил следующий код в файл apache2.conf:

<Соответствие файлов ".php$"> Приложение SetHandler/x-httpd-php ★

Затем я изменил его на:

<LocationMatch ".php$"> Приложение SetHandler/x-httpd-php ★

(Затем я изменил его обратно. Кроме того, согласно одному предложению, я вручную набрал этот код, а не копировал и вставлял его.)

Каждый раз после внесения каких-либо изменений в файл apache2.config я перезапускал службу Apache с помощью этой команды:

sudo systemctl перезапустить apache2

Я в своем уме конец. Почему мой PHP не работает?

Рейтинг:0
флаг us

Я нашел ответ на свои проблемы благодаря ответу на предыдущий вопрос на этом форуме. Проблема заключалась в том, что мне нужно было отредактировать файл php7.2.config, который находится в папке etc/apache2/mods-enabled, чтобы позволить мне хранить все мои файлы .php в каталоге public_html пользователя (а не корень) пространство.Так что это была проблема с разрешениями.

Чтобы разрешить это, вы закомментируете пять строк, которые начинаются с <IfModule в конце файла php7.2.config. (Вы комментируете, помещая # в начале строки, которую вы комментируете.)

Я сделал это уже несколько версий php назад, когда установил LAMP на свой компьютер 16.04. По-видимому, это нужно было переделать либо из-за обновления до php7.2, либо из-за обновления до 18.04, либо, возможно, из-за обновления до Apache.

Как только я внес это изменение, мой PHP снова заработал. Спасибо СПРОСИТЕ UBUNTU!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.