Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Cannot modify header information

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
jarhead74
Отправлено: 03 Августа, 2016 - 10:46:07
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Авг. 2016  


Помог: 0 раз(а)




Форум облазил, но не нашёл решения для своей проблемы.

В логах сервера увидел ошибку:
[Wed Aug 03 04:02:44 2016] [warn] [client 130.193.37.1] mod_fcgid: stderr: PHP Warning: Cannot modify header information - headers already sent by (output started at /var/www/user/data/www/test.ru/netcat/system/nc_core.class.php:749) in Unknown on line 0

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

Вот первые строчки файла nc_core.class.php:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. /**
  4.  *
  5.  * @property nc_ui $ui
  6.  * @property nc_backup $backup
  7.  */
  8. class nc_Core extends nc_System {
  9.  
  10.     public $DOCUMENT_ROOT, $SYSTEM_FOLDER, $INCLUDE_FOLDER, $ROOT_FOLDER, $SUB_FOLDER, $MODULE_FOLDER, $ADMIN_FOLDER,
  11.            $HTTP_ROOT_PATH, $HTTP_FILES_PATH, $ADMIN_PATH, $FILES_FOLDER,
  12.            $TEMPLATE_FOLDER, $CLASS_TEMPLATE_FOLDER, $WIDGET_TEMPLATE_FOLDER,
  13.            $NC_JQUERY_PATH;
  14.  
  15.     public $NC_UNICODE, $NC_CHARSET, $PHP_AUTH_LANG, $PHP_TYPE, $MYSQL_ENCRYPT,
  16.            $REDIRECT_STATUS, $AUTHORIZATION_TYPE,
  17.            $NC_DEPRECATED_DISABLED, $NC_REDIRECT_DISABLED,
  18.            $use_gzip_compression,
  19.            $AUTHORIZE_BY, $SECURITY_XSS_CLEAN,
  20.            $HTTP_HOST, $REQUEST_URI, $DOMAIN_NAME;
  21.  
  22.     public $inside_admin = false;
  23.     public $admin_mode = false;
  24.     public $developer_mode = false;
  25.     public $is_trial = false; // trial version?
  26.     public $beta = false;
  27.     protected $settings = array();
 
 Top
Faraon-san
Отправлено: 03 Августа, 2016 - 10:53:36
Post Id



Посетитель


Покинул форум
Сообщений всего: 318
Дата рег-ции: Сент. 2013  


Помог: 8 раз(а)




сохрани файл в кодировке utf-8 без bom
 
 Top
jarhead74
Отправлено: 03 Августа, 2016 - 11:04:03
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Авг. 2016  


Помог: 0 раз(а)




Faraon-san пишет:
сохрани файл в кодировке utf-8 без bom

а он и был в этой кодировке...на всякий случай ещё раз сохранил, но ошибка всё равно выскакивает

(Отредактировано автором: 03 Августа, 2016 - 11:11:49)

 
 Top
Мелкий Супермодератор
Отправлено: 03 Августа, 2016 - 11:11:36
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




jarhead74 пишет:
(output started at /var/www/user/data/www/test.ru/netcat/system/nc_core.class.php:749)

Между прочим, вам PHP прямым текстом говорит, куда надо смотреть. Почему вы смотрите в первые 27 строк - мне совсем не понятно. 749 - это очень далеко от 27.


-----
PostgreSQL DBA
 
 Top
jarhead74
Отправлено: 03 Августа, 2016 - 11:14:44
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Авг. 2016  


Помог: 0 раз(а)




Мелкий пишет:
jarhead74 пишет:
(output started at /var/www/user/data/www/test.ru/netcat/system/nc_core.class.php:749)

Между прочим, вам PHP прямым текстом говорит, куда надо смотреть. Почему вы смотрите в первые 27 строк - мне совсем не понятно. 749 - это очень далеко от 27.

Виноват, не подумал. Вот эти строки
PHP:
скопировать код в буфер обмена
  1. 748        if ($this->use_gzip_compression && $this->gzip->check()) {
  2. 749            while (ob_get_level()) { ob_end_flush(); }
  3. 750           ob_start('ob_gzhandler');
  4. 751        }
  5. 752
  6. 753        echo $buffer;

(Отредактировано автором: 03 Августа, 2016 - 11:17:14)

 
 Top
Мелкий Супермодератор
Отправлено: 03 Августа, 2016 - 12:12:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




ob_end_flush действительно осуществляет вывод данных.

Интересно, что php не знает, кто пытается модифицировать заголовки. Это может быть что-то из PECL-расширений или ещё чего-нибудь, глубоко залезающее в детали php. Или что-нибудь очень хитро вызванное.
Возможно, у вас что-то попало в вышестоящую буферизацию лишнее и здесь на самом деле буфера надо отбрасывать, а не выводить. Может, наоборот. Надо играться с конкретным кодом и конфигурацией.


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB