Предупреждение плагина Joomla на производственном сервере - «Невозможно изменить информацию заголовка» - PullRequest
1 голос
/ 01 марта 2011

Я создаю плагин для joomla, и он работает, как и ожидалось, на моей локальной машине Windows 7 с WAMP. Но когда я загружаю плагин на рабочий сервер (Debian), я получаю это предупреждение (не всегда):

Warning: Cannot modify header information - headers already sent by (output started at /httpdocs/plugins/system/fiuser.php:1) in /httpdocs/plugins/system/jat3/core/parameter.php on line 73

Я попробовал поискать в Google, но на самом деле это не помогло мне решить проблему.

<?php

defined('_JEXEC') or die('Restricted Access');

class plgSystemFiUser extends JPlugin {

    // Some functions

}

Я получаю это предупреждение всякий раз, когда удаляю данные о просмотре из браузера, и затем проблема сохраняется до тех пор, пока я не закрою браузер или не перейду на другой сайт.

Содержимое строки 73, параметр.php:

setcookie ($this->template.'_tpl', $this->template, $exp, '/');

Мне трудно отладить эту проблему, так как я не слишком разбираюсь в Joomla и PHP, поэтому любая помощь очень ценится.

Ответы [ 2 ]

0 голосов
/ 01 марта 2011

Удалите закрывающий тег?> В конце ваших файлов PHP.На самом деле это не имеет смысла, так как интерпретатор PHP знает, что конец файла тоже означает конец PHP.Удаление означает, что любые лишние пустые символы, добавленные вашим редактором, не будут влиять на сгенерированный вывод и, следовательно, не будут препятствовать отправке дополнительных заголовков HTTP.

Включите параметр output_buffering в php.ini, чтобы навсегда удалитьэта ошибка

0 голосов
/ 01 марта 2011

Конфликт метода header (), посмотрите на очистку буфера вывода

Методы буфера вывода PHP.net

...