InvalidStateException při transferu webu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
martinz
Člen | 3
+
0
-

Ahoj, přecházíme na nový webhosting a dodavatel aplikace přestal komunikovat. Chtěl jsem to tedy přenést sám, ale evidentně to nevyšlo.

Mohli byste mi pomoci?

PHP: 5.2.14-pl0-gentoo
Nette Framework 0.9.2

Náhled na http://kabatova.savana.cz/ nebo níže:

V zásadě jsem zkopíroval všechny soubory, změnil práva ke složkám log a temp, nahrál databázi se stejným jménem a heslem i hostem..

InvalidStateException

Cannot send header after HTTP headers have been sent (output started at .../app/controls/CheckboxList.php:8).

Source file ▼
File: …/libs/Nette/Web/HttpResponse.php

Line: 113
Line 106:         * @param  string  header value
Line 107:         * @return HttpResponse  provides a fluent interface
Line 108:         * @throws InvalidStateException  if HTTP headers have been sent
Line 109:         */
Line 110:        public function setHeader($name, $value)
Line 111:        {
Line 112:            if (headers_sent($file, $line)) {
Line 113:                throw new InvalidStateException("Cannot send header after HTTP headers have been sent" . ($file ? " (output started at $file:$line)." : "."));
Line 114:            }
Line 115:
Line 116:            if ($value === NULL && function_exists('header_remove')) {
Line 117:                header_remove($name);
Line 118:            } else {
Line 119:                header($name . ': ' . $value, TRUE, $this->code);
Line 120:            }

Call stack ▼

Application/Application.php (86) source ►  HttpResponse-> setHeader (arguments ►)
app/bootstrap.php (113) source ►  Application-> run ()
kabatova.cz/index.php (14) source ►  require (arguments ►)

Díky za pomoc!

Petr Mašát
Člen | 101
+
0
-

Ahoj,
jen takový výstřel do tmy, ale zkus kompletně smazat obsahy adresářů cache a temp.
A jednalo se o prostý copy->paste? Neměnil jsi něco více v těch souborech?

martinz
Člen | 3
+
0
-

Temp jsem promazal a cache ani nebyl..

Jen mě napadlo – všiml jsem si, že se nezkopírovali soubory .htaccess .. ale když je tam chci nahrát, okamžitě zase zmizí, i když jsou v administraci povolené.

Jinak jsem nic neměnil.. (kromě ještě promazání error logu, ale to nebude mít vliv)

Petr Mašát
Člen | 101
+
0
-

ten .htaccess se sám smaže a nebo jen není vidět? Třeba pod linuxem nejsou soubory s tečkou na začátku názvu automaticky zobrazované, člověk si to musí ve se to v nastavení povolit.

Zkoušel jsi to zprovoznit i někde jinde? Třeba i na localhostu s lokální databází.

JakubJarabica
Gold Partner | 184
+
0
-

Aký je obsah toho CheckboxList.php súboru, v ktorom hlási chybu výstupu?

Petr Mašát
Člen | 101
+
0
-

Našel jsem že se obdoba tohoto problému tady již řešila

Máš nastavené správně ty práva na temp, cache a možná i log? Vzhledem k tomu že v cache nic nebylo, tak bych tipoval že právě ten má špatně něco nastavené…

Jinak chyba znamená že ti jde něco na výstup před příkazem header(...), ale vzhledem k tomu, že ti to na původním hostingu fungovalo, tak by chyba někde v kódu být neměla.

Aurielle
Člen | 1281
+
0
-

Nediskutujte o zbytečných věcech, stačí si skrýt Laděnku a

Strict Standards: Declaration of CheckboxList::getLabel() should be compatible with that of FormControl::getLabel() in /mnt/data/accounts/k/kabatova/data/www/kabatova.cz/app/controls/CheckboxList.php on line 8
martinz
Člen | 3
+
0
-

Ještě jednou: složka temp vůbec v adresáři nebyla..

Po vypnutí laděnky mám chybu

Warning: Method Front_FrontPresenter::startup() or its descendant doesn't call parent::startup(). in /mnt/data/accounts/k/kabatova/data/www/kabatova.cz/libs/Nette/Application/Presenter.php on line 189

Na řádku 189 je:

trigger_error("Method $class::startup() or its descendant doesn't call parent::startup().", E_USER_WARNING);

A moc ten web nefunguje.. (vložení do košíku, vymazání z něj..)