LoginLogin About

Support » Knowledge Base » General questions » Scripts troubleshooting »

Message "Cannot send session cache limiter - headers already sent..."

If WebAsyst scripts are installed on your own or on a web-hosting server, occurrence of a failure may result in appearance of an error message of the following kind on your website or in your WebAsyst account:

Warning: session_start() [function.session-start]:
Cannot send session cache limiter - headers already sent
(output started at /path/to/file.php:1) in /path/to/another/file.php on line 67

Such a message means that in the file mentioned in the parentheses (in this example /path/to/file.php), data have been prematurely sent to the browser, which has caused abnormal operation of the function mentioned after the word "Warning" (in this example session_start) in the file specified at the end of the message (in this example /path/to/file.php).

Premature sending of data to browser may be caused by several reasons:

  1. Incorrect modification of the source code or damaged file (e.g., by malware). In this case the modified/damaged file should be restored from a backup. To update all files to the latest version, use the built-in update routine in WebAsyst Installer.
    Tip: The problem may be caused by presence of a BOM (byte order mark) character at the beginning of the modified PHP file, which has been automatically added by the text editor used for modifying the source code. To delete that character and thus eliminate the error, open and re-save the file, whose path is specified in parenthesis in the error message. It is essential that you use a code editor with the BOM support disabled.
  2. A message related to another PHP error was output during the execution of a PHP file. In this case it is recommended to find out the text of that message and eliminate the cause of the error, or temporarily disable the output of PHP messages until the error is eliminated.