Codeigniter, getting PHP error after moving server folder [duplicate] - php

This question already has answers here:
How to fix "Headers already sent" error in PHP
(11 answers)
Closed 9 years ago.
I tried to move my codeigniter server folder to Amazon EC2 server.
I zipped whole file with "tar cvfpz" command and move the file to new server.
I unzipped by using "tar xvfpz" command.
My new server setting is fine, but I get this error.
A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home/playmobs/_application/controllers/home.php:188)
Filename: core/Common.php
Line Number: 442
404 Page Not Found
The page you requested was not found.
I checked the database config file and all other config files.
All of them have correct commands for new server.
Can you see why I see this error?
Thank you.

You get this error, because probably you send output before sending header. This error can have a lot of reasons.
Here is really well documented solution: How to fix "Headers already sent" error in PHP

I solved the problem.
The reason was that I moved to the new server and didn't turn on PHP short cut command.
my code was like this.
<? ----- ?>
New server php didn't recognized this one.

Related

i have uploaded my project on the server but when i try to run it it shows this warning [duplicate]

This question already has answers here:
How to fix "Headers already sent" error in PHP
(11 answers)
Closed 7 years ago.
i have uploaded my project on the server but when i try to run it it shows this warning. However on my local machine every thing is working just perfect what could be the problem.
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/prosyst2/public_html/sms/index.php:1) in /home/prosyst2/public_html/sms/auth.php on line 3
Warning: Cannot modify header information - headers already sent by (output started at /home/prosyst2/public_html/sms/index.php:1) in /home/prosyst2/public_html/sms/auth.php on line 8
You can't set session/cookie after you echo'd something or generated some output.
You can use ob_start(); at the beginning of the file and echo ob_get_clean(); at the end to buffer the output.
Your local php installation does not report warnings correctly, set it to report E_ALL, which is errors, warnings, notices etc, and the other way on the server.
When it comes to your specific problem, you have output before your session_start(); call, this could be html or anything that writes to the output buffer, or incase session_start(); is on the top of the page, possibly a BOM character.
How to fix:
Never do any output before sending headers (header(...), session_start() etc) and this wont happen.
Always report all errors and warnings etc on a development installation, so you know whats wrong.

Php server path [duplicate]

This question already has answers here:
How to fix "Headers already sent" error in PHP
(11 answers)
Closed 7 years ago.
I made an index.php file with this require:
require 'Model\Db.php';
require 'Model\User.php';
require 'Model\Collection\UserCollection.php';
require 'View\ListView.php';
require 'View\FormView.php';
require 'View\MenuView.php';
require 'Controller\Controller.php';
on my laptop there are no problem but on the server it doesn't work. I don't have any warning (and I don't know how to activate them on server), I think is require fault because code after them are not executed.
In my log report I have:
PHP Warning: Cannot modify header information - headers already sent by (output started at /home/svyshloc/public_html/Esome/index.php:15) in /home/svyshloc/public_html/Esome/index.php on line 44
and code bugged is this:
if (($setting_page['basename'] == "Esome")) {
header("location: index.php?page=home");
} else {
$page = $url['page'];
}
Check your servers error logs. I've had same problem before with iPage servers but it got solved after I saw the real error from the servers logs.

Why when I'm trying to send headers without sending any output before in PHP it tells me the headers had already been sent? [duplicate]

This question already has answers here:
How to fix "Headers already sent" error in PHP
(11 answers)
Closed 8 years ago.
So I'm trying to change the headers in PHP with this code:
header("HTTP/1.0 404 Not Found");
And I get the following error message:
Cannot modify header information - headers already sent by (output
started at path\index.php:1)
So I've read about this error, and I found out that it happens because an output is already sent before I'm trying to change the headers. Problem is it tells me that output is sent in index.php on line 1, yet line 1 on that file is:
<?php
I've checked and there is no whitespace characters before the <. I even tried to change the first line of the file to:
<?php header("HTTP/1.0 404 Not Found");
Yet I still get the same error.
Why does this happen and how can I solve it?
I could be BOM related. This is related to the editor you use and which encoding you save in.
Please check
UTF-8 BOM signature in PHP files
EDIT:
Actully check this answer instead. How to fix "Headers already sent" error in PHP .. its great.
I don't know for sure what caused this problem, but eventually after I changed 'php.ini' (to install PDO) and restared the server I managed to change headers via PHP successfully.

PHP Warning Cannot Modify Header Information [duplicate]

This question already has answers here:
How to fix "Headers already sent" error in PHP
(11 answers)
Closed 9 years ago.
My site is running fine on one server but when I shifted it to another server, some pages are giving following warning message.
Warning: Cannot modify header information - headers already sent by (output started at /home/parviz/public_html/ganj_videos/lang/english.php:1) in /home/parviz/public_html/ganj_videos/mobile/detect.php on line 50
Any idea on how to fix it?
Thanks.
Most likely your new server has a different setting for the errors and warnings. If PHP issues a warning or error as output then it will cause your headers to fail.
Change the level using the error_reporting function.
Just follow the debug: it says output started in file /home/parviz/public_html/ganj_videos/lang/english.php on line 1. There's most probably some messy newlines or spaces there. Make sure all php files executed start with <?php and NOTHING else before it, or you'll get the warning.

Codeigniter: Message: Cannot modify header information - headers already sent by (output started at [duplicate]

This question already has answers here:
How to fix "Headers already sent" error in PHP
(11 answers)
Closed 9 years ago.
I have created a dynamic menu CMS website. I developed in a Windows system. When i run my project in windows operating system, My project runs without any error. But now uploaded it into Linux Operating system server i am getting warning & error like:
A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home/ansofcm8/public_html/apps/resources/math/application/core/MY_Controller.php:1)
Filename: libraries/Session.php
Line Number: 675
What could be the reason. Please help me.
There seems to be whitespace before the php open tag <?php in MY_Controller.php.
Check all PHP files and remove the whitespace before the <?php tag. If there is a space or new line, the body of the http request is started, and you can't add new headers to the http request.

Categories