Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Vovan-VE
13148 / 6531 / 1038
Регистрация: 10.01.2008
Сообщений: 15,071
#1

PHP код не выполняется / не работает / выводится в браузер / пустая белая страница - PHP

10.12.2012, 19:45. Просмотров 113510. Ответов 61

Достаточно часто у начинающих разработчиков встречаются проблемы с запуском PHP-кода. Симптомы и причины могут быть самые разнообразные. Ниже приведены наиболее часто встречающиеся симптомы и их возможные причины.

Код PHP виден на странице или Скачивается файл и исходным кодом PHP.

Вы открыли страницу/файл в браузере и увидели на странице PHP-код. Возможно, вперемешку с другими элементами страницы.
Либо вместо страницы файл "скачался", а в нём Вы увидели исходный код PHP.

Возможные причины:
  • Файл должен имет расширение .php (на всякий случай в нижнем регистре: .php , а не .PHP или .pHP). На всякий случай проверьте также и язык ввода: буквы с имени должно быть латинскими (бывали случаи).
  • Страница должна запрашиваться через Веб-сервер, а не из папки напрямую. Поэтому в адресной строке браузера Вы должны видеть http:// , а не file:// (некоторые браузеры скрывают http://, но file:// виден все равно).
  • Из предыдущего пункта следует: у Вас должен быть установлен и запущен веб-сервер (например, Apache или сборки Denwer, XAMPP и т.п.).
  • Веб-сервер должен быть настроен на обработку PHP кода. Если Вы используете сборки вроде Денвера, то этот пункт, вероятно, не актуален (хотя кто ж их знает).
  • PHP код должен быть обёрнут в PHP-теги: <?php . Если вдруг Вы используете короткие теги <? или <?= ... , то попробуйте заменить их на длинные: <?php и <?php echo ...; соответственно.
  • TODO вспомнить и описать другие организационные моменты

Ничего не выводится - только пустая белая страница.

Для начала попробуйте выполнить тестовый скрипт. Сохраните в отдельный файл test.php следующий код (только этот код и ничего больше):
PHP
1
2
<?php
phpinfo();
и выполните его. Если Вы увидели страницу с информацией о версии PHP с прочими подробностями, значит проблема кроется в Вашем коде.
  • Возможно, при выполнении Вашего PHP кода произошла критическая ошибка. Если отключена директива display_errors, то белая страница - реакция сервера на критическую ошибку.
    Если так, то для начала Вам необходимо узнать, какая именно произошла ошибка.
    • Попробуйте добавить в самое начало кода следующие строки:
      PHP
      1
      2
      3
      4
      
      <?php
      error_reporting(E_ALL);
      ini_set('display_errors', 1);
      ?>
      Если и после этого Вы не увидели сообщений об ошибке, то, возможно, в коде допущена синтаксическая ошибка, из-за чего он даже не запускается.
    • Попробуйте временно включить display_errors (также не забудьте про error_reporting = E_ALL).
    • Найдите/узнайте, где находятся логи ошибок. Если они есть, загляните туда - возможно сообщения об ошибках были записаны в них.
  • Если Вы используете ОС Linux, то проверьте права доступа к PHP файлам. У пользователя системы, от имени которого запущен веб-сервер, должны быть права на чтение и выполнение как для PHP файлов, так и для директории, в которых они располагаются.
  • TODO вспомнить и описать другие возможные причины

Сообщение будет обрастать подробностями и другими вариантами по мере их вспоминания...
10
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2012, 19:45
Я подобрал для вас темы с готовыми решениями и ответами на вопрос PHP код не выполняется / не работает / выводится в браузер / пустая белая страница (PHP):

Решатель квадратного уравнения. код не выполняется(белая страница)
собственно код: &lt;body&gt; &lt;form name=&quot;auto&quot; method=&quot;GET&quot; action=&quot;&lt;?=$_SERVER?&gt;&quot;&gt;...

Выводится php-код в браузер после установки php+apache+mysql
Навеяло отсюда: http://www.cyberforum.ru/php-beginners/thread839975.html ...

PHP-код выводится в браузер
выходит в браузере всякая ерунда... &lt;head&gt; &lt;meta http-equiv=&quot;Content-Type&quot;...

PHP код, вместо того, чтобы обработаться - выводится в браузер.
Доброго времени суток! У меня возникла проблема на начальном этапе работы с...

При переходе по постраничной навигации выводится пустая страница
ребят помогите разобраться что я делаю не так? написал скрипт, скрипт...

Php скрипт не срабатывает, открывается белая страница
Ребят, помогите пожалуйста. Не работает форма входа на сайт, собственно...

61
РустамКР
5 / 6 / 2
Регистрация: 02.02.2014
Сообщений: 112
28.05.2016, 20:28 #21
После того как запустишь сервер набери в браузерной строке путь к файлу черехз http://, в денвере это будет localhost/formdata.php или test1/formdata.php в зависемости где находится ваш файл.
0
Andrey7
0 / 0 / 0
Регистрация: 27.04.2016
Сообщений: 17
30.05.2016, 07:36 #22
Здравствуйте! Сделал так же, как и в одном из уроков по PHP, но ничего не получилось. А тема такая: применение функции file_get_contents. В уроке функция срабатывает, у меня же выходит ошибка.
Это в браузере:

Строка 1
Строка 2
Строка 3

Warning: file_get_contents() [function.file-get-contents]: Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in Z:\home\localhost\www\PHPtrenajor\func3.php on line 25

Warning: file_get_contents(https://mail.ru/) [function.file-get-contents]: failed to open stream: Invalid argument in Z:\home\localhost\www\PHPtrenajor\func3.php on line 25
----------------------------------------------
а это код в ноутпаде++:

<?php header('Content-type: text/html; charset=utf-8');?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
<title>Функции</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="keywords" content="">
<meta name="description" content="">

</head>

<body>
<?php

$a = file_get_contents('text.txt');

echo '<pre>';
echo $a;
echo '</pre>';

$b = file_get_contents('https://mail.ru/'); (это 25-я строка)

echo $b;


?>
</body>

</html>

Хотел обратиться к автору (Харин Евгений Андреевич) курса, но он недоступен.
Подскажите, пожалуйста, из-за чего не срабатывает. Заранее благодарю!
0
РустамКР
5 / 6 / 2
Регистрация: 02.02.2014
Сообщений: 112
30.05.2016, 08:51 #23
надо включить в php поддержку защищенного шифрования ssl для доступа через https://
1
Andrey7
0 / 0 / 0
Регистрация: 27.04.2016
Сообщений: 17
30.05.2016, 09:03 #24
теперь другой вопрос: каким образом это сделать?
Цитата Сообщение от РустамКР Посмотреть сообщение
надо включить в php поддержку защищенного шифрования ssl для доступа через https://
0
crautcher
2018 / 1990 / 463
Регистрация: 27.05.2011
Сообщений: 6,835
30.05.2016, 11:05 #25
Цитата Сообщение от Andrey7 Посмотреть сообщение
теперь другой вопрос: каким образом это сделать?
Надо поставить экстэнш openssl и включить его в php.ini
extension=php_openssl.dll
1
markorrr
0 / 0 / 0
Регистрация: 28.05.2016
Сообщений: 10
30.05.2016, 11:14 #26
При вводе http://localhost/test.dev/formdata.php - белая страница.

Когда по очереди копировал эти коды:

1 <?php
2 phpinfo();

1 <?php
2 error_reporting(E_ALL);
3 ini_set('display_errors', 1);
4 ?>

все равно была белая страница. Порт по умолчанию 80, при переименовании на другой - ошибка.
0
РустамКР
5 / 6 / 2
Регистрация: 02.02.2014
Сообщений: 112
30.05.2016, 15:57 #27
Напиши полный путь до файла formdata.php
0
pav1uxa
1855 / 1709 / 802
Регистрация: 23.01.2014
Сообщений: 6,082
Завершенные тесты: 1
30.05.2016, 21:42 #28
Цитата Сообщение от markorrr Посмотреть сообщение
белая страница.
А если в браузере посмотреть исходный код страницы - будет что-то?
0
Jewbacabra
Эксперт PHP
3090 / 2677 / 1223
Регистрация: 24.04.2014
Сообщений: 8,189
30.05.2016, 22:17 #29
Цитата Сообщение от markorrr Посмотреть сообщение
http://localhost/test.dev/formdata.php
А ты уверен что именно такой путь, а не http://test.dev/formdata.php? И что не нужно ничего в hosts прописывать чтобы это работало? В общем разберись для начала с настройками своего сервера
0
pav1uxa
1855 / 1709 / 802
Регистрация: 23.01.2014
Сообщений: 6,082
Завершенные тесты: 1
30.05.2016, 22:42 #30
Ну если белая страница то это точно не проблема с путями/настройками сервера. Варианта вообще всего 2 - либо происходит фатальная ошибка php, но вывод ошибок отключен, либо php вообще не подключен, и php-код обрабатывается как html-тег и ничего не выводит (в таком случае можно увидеть его, открыв исходный код страницы в браузере). Если там действительно из кода только phpinfo() - второй вариант напрашивается...
0
markorrr
0 / 0 / 0
Регистрация: 28.05.2016
Сообщений: 10
30.05.2016, 23:58 #31
Цитата Сообщение от pav1uxa Посмотреть сообщение
А если в браузере посмотреть исходный код страницы - будет что-то?
Нет, ничего. Вот скрин. И это независимо от кода php.
0
Миниатюры
PHP код не выполняется / не работает / выводится в браузер / пустая белая страница  
pav1uxa
1855 / 1709 / 802
Регистрация: 23.01.2014
Сообщений: 6,082
Завершенные тесты: 1
31.05.2016, 10:41 #32
Цитата Сообщение от markorrr Посмотреть сообщение
Вот скрин.
Я имел ввиду другое. Правой кнопкой мыши нажать на страницу - просмотр кода страницы.

При этом удалите из скрипта все, кроме строк
PHP
1
2
<?php
phpinfo();
0
markorrr
0 / 0 / 0
Регистрация: 28.05.2016
Сообщений: 10
31.05.2016, 17:52 #33
Цитата Сообщение от pav1uxa Посмотреть сообщение
Я имел ввиду другое. Правой кнопкой мыши нажать на страницу - просмотр кода страницы.
Пустая белая страница и больше ничего.
0
pav1uxa
1855 / 1709 / 802
Регистрация: 23.01.2014
Сообщений: 6,082
Завершенные тесты: 1
31.05.2016, 20:19 #34
Цитата Сообщение от markorrr Посмотреть сообщение
Пустая белая страница и больше ничего.
А если написать
PHP
1
2
3
4
<?php
phpinfo();
error_reporting(-1);
ini_set('display_errors', 1);
тоже только белая страница?

Тогда посмотрите лог ошибок веб-сервера.
0
markorrr
0 / 0 / 0
Регистрация: 28.05.2016
Сообщений: 10
31.05.2016, 20:48 #35
Цитата Сообщение от pav1uxa Посмотреть сообщение
тоже только белая страница?
Да, белая страница.

Цитата Сообщение от pav1uxa Посмотреть сообщение
Тогда посмотрите лог ошибок веб-сервера.
Когда жму на apache error log или на php error log, выдает что "не удается найти файл".

Думаю, то это не должна быть очень сложная проблема, по скольку я еще новичок и только планировал учить php, но элементарно не могу его запустить...
0
pav1uxa
1855 / 1709 / 802
Регистрация: 23.01.2014
Сообщений: 6,082
Завершенные тесты: 1
31.05.2016, 20:55 #36
Цитата Сообщение от markorrr Посмотреть сообщение
Когда жму на apache error log или на php error log, выдает что "не удается найти файл".
Цитата Сообщение от markorrr Посмотреть сообщение
только планировал учить php,
то что Вы не можете открыть файл логов веб-сервера, если честно, к PHP вообще не относится...

Начнем сначала - у Вас какой веб-сервер вообще?
0
markorrr
0 / 0 / 0
Регистрация: 28.05.2016
Сообщений: 10
31.05.2016, 21:54 #37
Цитата Сообщение от pav1uxa Посмотреть сообщение
Начнем сначала - у Вас какой веб-сервер вообще?
wamp64
0
pav1uxa
1855 / 1709 / 802
Регистрация: 23.01.2014
Сообщений: 6,082
Завершенные тесты: 1
31.05.2016, 22:05 #38
Цитата Сообщение от markorrr Посмотреть сообщение
wamp64
А с чего Вы вдруг решили переходить по адресу http://localhost/test.dev/formdata.php ?
0
markorrr
0 / 0 / 0
Регистрация: 28.05.2016
Сообщений: 10
31.05.2016, 22:26 #39
Цитата Сообщение от pav1uxa Посмотреть сообщение
А с чего Вы вдруг решили переходить по адресу http://localhost/test.dev/formdata.php ?
Здесь, на форуме, написали, что ни в коем случаи через папку нельзя ( сначала путь был такой: file:///C:/wamp64/www/test.dev/formdata.php ), тогда где-то в интернете нашел информацию, что нужно его так запускать.
0
Jewbacabra
Эксперт PHP
3090 / 2677 / 1223
Регистрация: 24.04.2014
Сообщений: 8,189
31.05.2016, 22:53 #40
Цитата Сообщение от markorrr Посмотреть сообщение
( сначала путь был такой: file:///C:/wamp64/www/test.dev/formdata.php ), тогда где-то в интернете нашел информацию, что нужно его так запускать.
Вот когда к файловой системе можно будет подключить интерпретатор php, тогда и будет вариант с файл работать

wamp работает (должна быть в области уведомлений буква W зеленого цвета)?
Если да, то закинуть в папку C:\wamp64\www файл test.php с
PHP
1
<?php phpinfo();
и обращаться к нему http://127.0.0.1/test.php или http://localhost/test.php
1
31.05.2016, 22:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2016, 22:53
Привет! Вот еще темы с решениями:

PHP код не выполняется ,не работает в браузере
PHP код не выполняется ,не работает в браузере &lt;?php $rando =...

Код выводится в браузер
Возникла проблема: создаю такой документ (код ниже). КОД: &lt;!DOCTYPE html&gt;...

В браузер выводится еще часть кода php
Уважаемые господа... скрипт php - простая менюшка. Open_server работает....

Код выводится в браузер, а не обрабатывается должным образом.
Здравствуйте!Проблема такая: при загрузке этого кода браузер выводит этот код,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru