Веб-сервер не отображает PHP-страницу

Вопрос или проблема

Я настроил веб-сервер Apache с пользовательским аккаунтом для управления контентом, создал корневой каталог http-docs в /var/ и назначил права владельца этому пользователю с помощью стандартных команд chown и тому подобное, в общем, основные вещи работают.

Я загрузил некоторый контент, и он отображается при доступе через HTTP и HTTPS.

Что меня совершенно сбивает с толку, так это то, что страницы PHP для управления моей CMS не отображаются, в то время как веб-оболочка работает.

На случай, если это имеет значение, я использую CMS Armadillo, доступную как плагин для RapidWeaver. Она зависит от Apache, PHP и MySQL, и все эти требования (видимо) выполнены. Кроме того, я могу исключить MySQL как источник проблемы, поскольку мне нужно получить доступ к странице администрирования/настройки, чтобы настроить систему, и поскольку она продолжает оставаться пустой, я не смог даже попытаться ее настроить.

При inspecting соответствующего .php файла в файловой системе сервера файл содержит действительный PHP код.

Что я делаю не так? Что я забыл сделать?

Спасибо.

Я предполагаю, что когда вы устанавливали PHP, вы использовали что-то вроде

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

Вы помните, что нужно изменить настройки Apache, чтобы он искал .php перед .html?

 sudo nano /etc/apache2/mods-enabled/dir.conf

Это должно выглядеть примерно так:

 <IfModule mod_dir.c>
 DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
 </IfModule>

Обратите внимание, что index.php должен быть первым.

После внесения изменений просто нужно перезапустить сервер

 sudo service apache2 restart

Попробуйте это,

sudo a2enmod rewrite

Ответ или решение

Проблема с отображением страниц PHP на веб-сервере Apache может быть вызвана несколькими факторами. Давайте внимательно рассмотрим вашу ситуацию и определим возможные причины, а также пути их решения.

1. Убедитесь, что PHP установлен правильно

Вы упомянули, что устанавливали PHP, но важно убедиться, что все необходимые модули установлены. Попробуйте выполнить следующую команду для установки PHP и необходимых модулей:

sudo apt-get install php libapache2-mod-php php-mcrypt

После установки убедитесь, что правильно загружены соответствующие модули Apache для работы с PHP. Для этого вы можете использовать следующие команды:

sudo a2enmod php7.x  # замените на вашу версию PHP
sudo systemctl restart apache2

2. Обработка файлов с расширением .php

Apache должен быть настроен для обработки файлов PHP. Проверьте конфигурацию по умолчанию для индексации. Измените файл /etc/apache2/mods-enabled/dir.conf, чтобы он включал index.php в начало списка:

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

После внесения изменений перезапустите сервер:

sudo systemctl restart apache2

3. Проверка конфигурации виртуального хоста

Если ваш Apache настроен на использование виртуальных хостов, убедитесь, что в настройках вашего виртуального хоста указаны правильные параметры для обработки PHP. Например, в вашем файле конфигурации можно добавить:

<Directory /var/http-docs>
    AllowOverride All
    Options Indexes FollowSymLinks
    Require all granted
</Directory>

4. Проверьте файлы .htaccess

Проверьте, есть ли в вашем каталоге http-docs файл .htaccess, который мог бы блокировать выполнение PHP или перенаправлять запросы. Если такой файл существует, временно переименуйте его в другой формат и проверьте, решает ли это вашу проблему.

5. Логи ошибок

Если ни одно из вышеперечисленных решений не сработало, полезно посмотреть в файлы журналов ошибок Apache для получения дополнительной информации о происходящем. Они обычно находятся по пути:

/var/log/apache2/error.log

Используйте команду для просмотра последних строк журнала:

tail -f /var/log/apache2/error.log

Ищите записи, которые могут указывать на проблемы с загрузкой PHP-страниц или разрешением файлов.

6. Проверьте права доступа к файлам

Убедитесь, что файлы PHP имеют необходимые права доступа для чтения. Они должны быть доступны пользователю, от которого работает Apache. Проверьте права и владельца файлов:

ls -la /var/http-docs

Если необходимо, измените их, используя:

sudo chown -R www-data:www-data /var/http-docs
sudo chmod -R 755 /var/http-docs

Заключение

Проблема с отсутствием отображения PHP-страниц на вашем веб-сервере может быть связана с настройками Apache, конфигурацией PHP или правами доступа к файлам. Исполните предложенные шаги и, скорее всего, вы сможете устранить возникшую проблему. Если же трудности сохраняются, не стесняйтесь обращаться к сообществу для получения дополнительной поддержки.

Оцените материал
Добавить комментарий

Капча загружается...