Aadi
Aadi

Reputation: 7109

How to ignore session warning when include a file in php

when I am using include() with my wordpress plugin which says an error as follows.

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/wordpress3/wp-content/plugins/new/listAllItems.php:10) in /var/www/wordpress3/wp-content/themes/thesis_16/lib/functions/document.php on line 3

listallitems.php's 10 th line says

`

    include_once("../../../wp-config.php");
    include_once("../../../wp-load.php");
     ....` 

How can I avoid this error.

Upvotes: 0

Views: 1694

Answers (3)

ITinARRAY
ITinARRAY

Reputation: 27

I have just added in my script :

if(!session_start()){
  session_start();
}

All warnings gone.

Upvotes: 1

Ravi Jayagopal
Ravi Jayagopal

Reputation: 934

This is just a quick-fix, not the right solution.

Put an "@" symbol before the command, like this...

@session_start();

That will suppress any warnings or errors. You can do that with any PHP command. But it's not a good idea in general, because you are only putting a band-aid on the issue, and not resolving the root cause, which in your case is that the session_start() is getting called after something has been output to the buffer.

Upvotes: 1

Bastien Jansen
Bastien Jansen

Reputation: 8846

As explained before, this is due to some text which was already sent to the browser before your session_start() statement. Check if you haven't includes spaces/characters in your script or in one of the scripts your are including.

THis could also be an encoding problem, i.e. your file is encoded in UTF-8 with BOM but your webserver is configured in another charset, so the BOM is treated as extra characters (but this problem has indeed be answered a lot of times).

Upvotes: 1

Related Questions