2016-05-05 3 views
0

После обновления моей ОС я больше не могу получить доступ к главной странице моего небольшого локального веб-сайта.Php: начальная страница веб-сайта показывает пустой экран

В прошлом месяце я обновил свое сжатие Debian до Jessie. Перед обновлением я скопировал все файлы php, папки изображений и базу данных mysql на внешний жесткий диск. После обновления я все положил. Сначала проблема заключалась в том, что у меня не было разрешения на доступ к главной странице, хотя у меня есть все файлы и папки, которые подключены к этому сайту. Немного chmod a + rx, казалось бы, исправил это, но когда я перехожу на главную страницу, все, что я получаю, это пустой экран. Я проверил папку веб-сайта и обнаружил, что у нескольких файлов есть вторая версия, заканчивающаяся на .php ~. Я никогда не замечал этого раньше, и я уверен, что сам не создал эти файлы. (На самом деле я нашел ссылку в старой ветке где-то рядом с некоторыми редакторами, создающими автоматические резервные копии с этим расширением. Угадайте, вот что произошло здесь.) Эти дополнительные файлы отображаются только в терминале, а не в файловом менеджере.

Таким образом, есть файл с именем hoofdmenu.php (главная страница) и один по имени hoofdmenu.php ~. Hoofdmenu.php - моя стартовая страница, и она показывает только пустой экран. В Firebug все, что вы видите:

<html> 
<head></head> 
<body></body> 
</html> 

Однако, если я пойду в hoofdmenu.php ~ Я получаю веб-страницу (минус функция I определена, но это небольшая проблема). Я также могу перемещаться с главной страницы на другие страницы и между другими страницами. Только когда я вернусь на главную страницу (на каждой странице есть кнопка возврата домой), я получаю тот же старый пустой экран.

Единственная разница между обоими файлами - это отступ нескольких блоков кода. Учитывая, что hoofdmenu.php ~ работает, я попытался скопировать этот файл в hoofdmenu.php, но потом снова получил пустой экран. Может ли кто-нибудь сказать мне, что мне здесь не хватает?

Заранее спасибо.

+0

~ версия обычно является временным файлом, созданным вашим редактором. Белый экран, вероятно, является синтаксической ошибкой. – Farkie

+0

Вы просматривали журналы ошибок? Есть несколько причин, по которым обновление ОС может вызвать это. Возможно, ваша версия PHP была обновлена ​​и сломала ваше приложение. Возможно, некоторая библиотека или зависимость, зависящая от вашего приложения, была удалена, и ваше приложение сталкивается с какой-то фатальной ошибкой при попытке использовать эту зависимость. В ее нынешнем виде вопрос слишком широк для ответа. Странные имена файлов, вероятно, не являются частью проблемы, но, вероятно, артефактом вашей среды разработки. Сначала вы должны заботиться только об ошибке на правильно названных сценариях. –

+0

Поскольку такой доступ к * .php ~ не запускает PHP-интерпретатор, а страница, которую вы видите, представляет собой содержимое файла, отображаемого как открытый текст (я уверен, что HTML-теги по-прежнему интерпретируются браузером правильно, поэтому вы видите навигацию , и т.д.). Похоже, что обновление сломало ваш PHP-код в главном файле, и вы должны включить директивы отладки, чтобы определить слабое место - проверьте этот http://stackoverflow.com/a/845025 и сообщите мне, если вы получите какие-либо ошибки –

ответ

1

Проверка /var/log/apache2/error.log указывает на неожиданный конец файла. Я сознательно не используйте короткие тег, но я пошел искать их просто чтобы быть уверенными, и нашел бездомную точку с запятой:

<?php; 

Удаления указанной точки с запятой решить всю проблему, включая зависание функции. По-видимому, какая-то предыдущая версия чего-то не возражала (последнее изменение файла было 19 февраля, так что он работал не менее шести недель с точкой с запятой). Все теперь работает снова, как и предполагалось.

Смежные вопросы