session_start(): Cannot send session cache limiter – headers already sent

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

Caute, potreboval by som pomoct s toutou vynimkou, ktora mi znehodnocuje funkcnost celej aplikacie vratane systemu prihlasovania uzivatelov. Dnes som aplikaciu vyvijanu pre PHP5.3 prepisoval do PHP5.2.
Kniznicu Nette som nahradil subormi z aktualneho archivu urcenu pre PHP5.2 bez prefixov, v modeloch a presenteroch poodstranoval pouzivani namespaces, potrapil sa so slusnym poctom depreceated funkcii a makier Nette a Dibi a dalsie drobnosti ako neexistencia __DIR__ v PHP5.2 a pod.. Vsetko to islo hladko, az na poslednu vec, s ktorou si neviem rady.

InvalidStateException

session_start(): Cannot send session cache limiter – headers already sent (output started at /var/www/vhosts/test.rikiho.net/httpdocs/index.php:1)

<?php
1. Nette/loader.php (5185) source ► Session-> start ()
2. Nette/loader.php (5321) source ► Session-> getNamespace (arguments ▼)
	$namespace "Nette.Web.User/" (15)
3. Nette/loader.php (5316) source ► User-> getSessionNamespace (arguments ▼)
	$need TRUE
?>
<?php
4. presenters/PrihlaseniePresenter.php (54) source ► User-> setExpiration (arguments ▼)
	$time	"+ 20 minutes" (12)
	$whenBrowserIsClosed TRUE

48:        public function signInFormSubmitted(AppForm $form) {
49:            try {
50:                $values = $form->getValues();
51:                if ($values['remember']) {
52:                    $this->getUser()->setExpiration('+ 14 days', FALSE);
53:                } else {
54:                    $this->getUser()->setExpiration('+ 20 minutes', TRUE); // ZVYRAZNENE ZVYRAZNENE
55:                }
56:                $this->getUser()->login($values['username'], $values['password']);
57:
58:                $this->model->updateLoginStats($this->user->getIdentity()->id);
59:
60:                $this->redirect('Homepage:');
?>

Dodavam ze PHP verzia je 5.2.6 a ze na localu s PHP5.3.4 sa tato chyba ci vynimka neobjavuje.

Za akekolvek rady a tipy by som vam bol moc vdacny.

Panda
Člen | 569
+
+1
-

Zkontroluj, jestli neobsahují Tvé soubory BOM. Pokud by to bylo kvůli tomu, tak vznik chyby nesouvisí s verzí PHP, ale s jeho nastavením – PHP na localhostu můžeš mít zapnutý output_buffering nebo zlib.output_compression, takže hlavičky se nebudou posílat při prvním výstupu, po dokončení skriptu.

rixi
Člen | 109
+
0
-

Panda wrote:

Zkontroluj, jestli neobsahují Tvé soubory BOM. Pokud by to bylo kvůli tomu, tak vznik chyby nesouvisí s verzí PHP, ale s jeho nastavením – PHP na localhostu můžeš mít zapnutý output_buffering nebo zlib.output_compression, takže hlavičky se nebudou posílat při prvním výstupu, po dokončení skriptu.

Ano, skutocne to bolo tym. Nachadzal sa len raz a to v index.php, ktory som zo zufalosti narychlo editoval cez windowsacky notepad a zrejme tam to vzniklo. Dakujem moc za help, na toto by som sam neprisiel.

A teraz aby som pripravil fakturku cez InvoiceControl za prepis aplikacie =)