Добрый день. Возможно, это дубликат, но я не нашел ответа для себя. Я разработал сайт PHP на локальном сервере (Apache2.4, Windows), и все работало. Включение файлов не работает на сервере Debian VPS с apache2. Что может вызвать эту проблему?
<? include '/include/libs.php';?>
Я предполагаю три причины
Первый:
Вы можете не иметь прав / разрешений для доступа к файлу, который вы пытаетесь включить.
Обычно это ошибка, связанная с ошибочными операторами include.
Попробуйте запустить этот код:
<?php
var_dump(substr(sprintf('%o', fileperms('/include/libs.php')), -4));
?>
Если последние три цифры выходных данных меньше 7, 5 и 5 соответственно, то вы попали в проблему с правами доступа к файлу.
Вы можете устранить эту ошибку, изменив разрешения на включение файлов в bash
sudo chmod -R 0755 /var/www/include/libs.php
использование sudo chmod 0755 /var/www/html/include/libs.php
вместо этого, если ваша версия apache выше 2.4
Обратите внимание, что вам нужно использовать -R
установите флажок для chmod, чтобы все ваши вложенные папки также были chmodded.
Во-вторых:
Вы не используете php как группу пользователей apache2 по умолчанию ИЛИ ваш файл includee принадлежит root.
Это, как и предыдущая причина, также является исключением из прав доступа к файлу.
бежать
ИЛИ ЖЕ
sudo chown "www-data" /var/www/include/libs.php
с последующим
sudo chgrp "www-data" /var/www/include/libs.php
sudo service apache2 restart
в баш.
В третьих:
Возможно, вы испортили настройки установки / конфигурации apache2 / PHP.
Удар sudo apt-get purge php5
и sudo apt-get install php5
в баш.
Имейте в виду, что его будет сжигать все ваши обычаи php.ini
настройки, и вам может понадобиться начать настройку с самого начала. [Я узнал это трудным путем: D].
Надеюсь это поможет …
ОБНОВИТЬ:
После того, как я прочитал, что ошибки не отображается,
мне пришло в голову, у вас есть конфигурация php5 по умолчанию …
открыть sudo gedit /etc/php5/apache2/php.ini
Изменить линию display_errors = Off
в display_errors = On
Это была проблема, с которой я столкнулся, когда установил php с нуля …
Других решений пока нет …