PDA

Zobacz pełną wersję : Cannot modify header information - headers already sent ...?!



michlew
27-08-2008, 08:27
Założyłem serwis na joomli 1.015. Wszystko działało OK. Kiedy przekierowałem na niego domenę i zmieniłem wpis adresu witryny w configuration.php zaczęły pojawiać się komunikaty:

Warning: Cannot modify header information - headers already sent by (output started at /home/michlew/ftp/nysa24/configuration.php:1) in /home/michlew/ftp/nysa24/includes/joomla.php on line 723

Warning: Cannot modify header information - headers already sent by (output started at /home/michlew/ftp/nysa24/configuration.php:1) in /home/michlew/ftp/nysa24/includes/joomla.php on line 1497

Warning: Cannot modify header information - headers already sent by (output started at /home/michlew/ftp/nysa24/configuration.php:1) in /home/michlew/ftp/nysa24/index.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at /home/michlew/ftp/nysa24/configuration.php:1) in /home/michlew/ftp/nysa24/index.php on line 252

Warning: Cannot modify header information - headers already sent by (output started at /home/michlew/ftp/nysa24/configuration.php:1) in /home/michlew/ftp/nysa24/index.php on line 253

Warning: Cannot modify header information - headers already sent by (output started at /home/michlew/ftp/nysa24/configuration.php:1) in /home/michlew/ftp/nysa24/index.php on line 254

Warning: Cannot modify header information - headers already sent by (output started at /home/michlew/ftp/nysa24/configuration.php:1) in /home/michlew/ftp/nysa24/index.php on line 255

Nie mogę tez zalogować się do panelu administratora, pokazuje mi
cos podobnego, że headers already sent

przywrócenie starej scieżki dostępu do witryny w configuration.php nic nie daje

Jest na to jakiś sposób, czy muszę wszystko instalować od nowa?????
Informatyk ze mnie żaden, więc proszę o łopatologiczne wyjasnienia, za co z góry dziękuję :-)

inkos
27-08-2008, 16:55
A mozesz poszukac odpowiedzi na Twoj problem uzywajac jako slow kluczowych fragmentow komunikatow? Czy to takie trudne?

karolgolo
28-08-2008, 00:20
Raz zdarzyło mi się że miałem podobny problem. Otóż po wielkich poszukiwaniach na internecie, o dziwo jedną polską informacje znalazłem ze przyczyną pojawienia się błędu było pokazywanie się kilku znaków na początku edytowanego pliku. Te znaczki ponoć dają programy firmy Microsoft. A usunąć je można, ja osobiście usuwam przy pomocy programu firmy ZEND. Życzę powodzenia i dużo cierpliwości. Pozdrawiam serdecznie.

kurtz
28-08-2008, 01:09
Oto rozwiązanie problemu dla Ciebie :



In the HTTP protocol a server response consists of a group of headers followed by a body, separated by a single blank line (i.e. a line containing only a carriage-return). This warning message is produced by PHP if a program attempts to send an additional HTTP header after the separator (and hence all the headers) has already been sent.

By far the most common cause of this problem is that one or more PHP files contains characters (usually a space or an empty line) outside of the <?php and ?> tags. To fix the problem you should examine the PHP file indicated in the warning message and remove any blank characters at the beginning and end of the file. Some text editors, including some online file managers, are prone to automatically adding extraneous line-ending characters at the ends of files, particularly when not configured to do otherwise.


Tip Remove the closing ?> tag at the end of your PHP files. It actually serves no useful purpose as the PHP interpreter knows that end-of-file means end-of-PHP too. Removing it means that any extra blank characters added by your editor will have no effect on the output generated and so will not prevent additional HTTP headers from being sent.karolgolo (http://forum.joomla.pl/member.php?u=11936)
na marginesie, ciekawe to jakim programem ?? zend'a usuwasz znaczniki ?

karolgolo
28-08-2008, 01:21
Wyjaśnienie: chodzi o usunięcie znaczków na początku pliku, które widać w programie np zend. Efekt właśnie takich znaczków widać w IE7 w postaci enteru na wyświetlanej stronie, a w przypadku zawarcia w pliku kodu z funkcją header, własnie takiego błedu o którym piszesz. Pliki odpowiedzialne za wyswietanie tresci posiadają funkcje header i w momencie wczytania pliku konfiguracji z takim znacznikiem, strona ulega właśnie takiemu stanowi w jakim się znajduje, a że jest to główny podstawowy plik systemu, to informacja będzie się pokazywać praktycznie na każdej wywołanej stronie związanej z tym systemem cms. W Twoim przypadku skutecznym rozwiązaniem będzie właśnie usunięcie znaczków typu <dtż powstałych podczas edycji plików w pliku konfiguracji, a i nie zaszkodzi sprawdzić również i innych plików. Do wykonania tego możesz zastosowac darmowy program do edycji plikow php firmy zend, do pobrania ze strony np zend.com Pozdrawiam

kurtz
28-08-2008, 01:24
jasnym i bardzo zrozumiałym komunikatem było zapytanie JAKIM ? ewentualnie dla odróżnienia mógłbym jeszcze napisać KTÓRYM ?

teraz mam nadzieję zapytanie jest klarowne i oczywiste ...

karolgolo
28-08-2008, 01:39
Program do edycji plików o którym mowa w poprzednich odpowiedziach to ZEND Studio 5.2.0

kurtz
28-08-2008, 01:59
fajnie tylko od kiedy zend studio jest darmowy ? jakas subskrypcja czy coś ? gdzie ten odnośnik do darmowej wersji ?

karolgolo
28-08-2008, 10:21
Ja mam wersje darmową, wystarczającą do usunięcia znaków typu <dtż. Poszukaj sobie na stronie zenda. A strone zenda znajdziesz za pomocą www.google.pl (http://www.google.pl), Powodzenia

kurtz
28-08-2008, 10:21
sprawa zupełnie marginalna. używamy Zend Studio od wersji chyba 2.5. na 2 licencjach. W latach 2001 - 2002 jego cena była porównywalnie wysoka jak teraz, chociaż różnice w cyfrach są znaczne i w porównaniu do tamtych skoczyły x 4.

ja z dziką rozkoszą dowiem się gdzie można pobrać darmowe licencje na ten program, bo wybacz, jakkolwiek przez 8 lat widziałem zmiany na tej stronie i trochę ją ogarniam, lecz nigdzie nie zauważyłem odnośnika do bezpłatnej subskrypcji.

więc jeśli możesz to ją podaj !

Edit : odpowiedzi na temat udzieliłem !

kurtz
28-08-2008, 11:38
kolego, edytując swoje posty w dowolny dla Ciebie sposób, próbujesz zrobić ze mnie debila i zamanipulować informacją na forum.

jedni to łykną, drudzy sobie popatrzą na datę i godzinę moich postów pod Twoimi edycjami i wyciągną wnioski nie o mnie a o Tobie - to jedno.

ja stronę zenda, doskonale znam - co już wspomniałem w post'cie powyżej, po po raz enty zmienionym przez Ciebie wpisie.

nie bardzo wiem jak mam zadawać pytanie o odnośnik do tej darmowej licencji w sposób jeszcze bardziej klarowny i zrozumiały dla Ciebie.

powód podany powyżej ...

karolgolo
28-08-2008, 19:36
Gdzie można znaleźć program ZEND i licencje do niego na pełne oprogramowanie?

michlew
01-09-2008, 16:23
Dzięki śliczne za pomoc - pomogło usunięcie znacznika ?> z końca pliku configuration.php
tego sposobu z zendem juz nie probowalem
pozdrawiam i jeszcze raz dzieki :-)

asi3ka
11-09-2008, 18:17
usunelam ?> z konca 3 plikow ktore edytowalam i to nie pomoglo ehhhh nie wiem co dalej

sinel
20-11-2010, 02:19
Super łatwe rozwiązanie problemu!
Miałem to samo po przerzuceniu strony i bazy joomla z www na localhost. Jeśli masz dostęp do pliku php.ini serwera (w moim przypadku C:\xampplite\php\php.ini - używam XAMPP Lite), to zmień w nim opcję output_buffering z off na on. Jeśli jej nie masz, to dopisz.
Linijka w php.ini powinna wyglądać tak:

output_buffering=onPo zmianie zrestartuj serwer www i wszystko powinno działać bez najmniejszego problemu/ostrzeżenia a nawet i szybciej niż wcześniej.

Ps. Wiem, że temat stary, ale może ktoś, podobnie jak ja, trafi na tę stronę - wtedy mu się to prawdopodobnie przyda.