Just nu i M3-nätverket
Gå till innehåll

Skumt problem med session_start()


erikdal
 Share

Rekommendera Poster

Hej

Jag har bl.a. en liten webbplats där jag kört i åratal utan problem, egenutvecklat med PHP.

Nu behöver jag en till för nya behov på samma webbhotell och har plankat delar av koden från den första.

 

MEN - när jag startar huvudskripet får jag direkt ett felmeddelande:

Citat

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /var/www/spf-vaxholm.se/public_html/pub/pubanm.php:1) in /var/www/spf-vaxholm.se/public_html/pub/pubanm.php on line 2

Det är identiskt samma kod i början av skriptet;

Citat

<?php    // 2021-08-03 - copyright Erik Dalhammar - ED DataKonsult
    session_start();

    require_once("incl/functions.php");

 

Jag har använt denna kod på många andra ställen utan problem, men här fungerar det inte.

Någon som har en lösning? Jag sliter mitt något tunna hår ...

Erik

 

Länk till kommentar
Dela på andra webbplatser

Har du gjort en print eller någon annan slags output innan du anropar session start? Är php taggen det första på sidan? Du har ingen annan html tagg innan?

 

Session start måste nämligen köras innan någon output görs, det är viktigt. 

Redigerad av .M
Stavning
Länk till kommentar
Dela på andra webbplatser

Nix, som framgår av citaten är anropet till session_start() första händelse, sker på rad 2.
PHP-taggen är rad 1.

 

Länk till kommentar
Dela på andra webbplatser

Men om man tolkar felmeddelandet så verkar det som att något hänt på rad 1 och session_start körs på rad 2. Finns det något mellanslag eller radbrytning före din php-tagg?

Länk till kommentar
Dela på andra webbplatser

Mr Andersson
16 timmar sedan, skrev erikdal:

Hej

Jag har bl.a. en liten webbplats där jag kört i åratal utan problem, egenutvecklat med PHP.

Nu behöver jag en till för nya behov på samma webbhotell och har plankat delar av koden från den första.

 

MEN - när jag startar huvudskripet får jag direkt ett felmeddelande:

Det är identiskt samma kod i början av skriptet;

Jag har använt denna kod på många andra ställen utan problem, men här fungerar det inte.

Någon som har en lösning? Jag sliter mitt något tunna hår ...

Erik

 

Testa att lägg till detta före session_start()

 

header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
session_cache_limiter('nocache')

 

Länk till kommentar
Dela på andra webbplatser

.M
Det enda som ligger för PHP-taggen är UTF-8 BOM, inga mellanslag eller radbrytningar.
Det är lika för alla skript, både de som fungerar och de som inte fungerar.

Länk till kommentar
Dela på andra webbplatser

 Share

×
×
  • Skapa nytt...