Impossible to use AJAX on PHP 5.6 - Printable Version +- CodeIgniter Forums (https://forum.codeigniter.com) +-- Forum: Using CodeIgniter (https://forum.codeigniter.com/forumdisplay.php?fid=5) +--- Forum: General Help (https://forum.codeigniter.com/forumdisplay.php?fid=24) +--- Thread: Impossible to use AJAX on PHP 5.6 (/showthread.php?tid=66950) |
Impossible to use AJAX on PHP 5.6 - pex - 12-21-2016 So I have a PHP version that is affected to the bug of "always_populate_raw_post_data"... In few words if i set headers after I display content, my app just return an error and stop working. I need to get some data from ajax, but the problem is that the controller where ajax suppose to work, extend CI_Controller that set some headers, This return me an error: Code: <b>Deprecated</b>: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in How can I solve it? I should find a way to prevent this header to be set... Thanks in advantage.. RE: Impossible to use AJAX on PHP 5.6 - ivantcholakov - 12-21-2016 Upgrade CodeIgniter. RE: Impossible to use AJAX on PHP 5.6 - pex - 12-22-2016 (12-21-2016, 07:00 PM)ivantcholakov Wrote: Upgrade CodeIgniter. Hi! Thanks for your reply, I'm actually using the last version of CodeIgniter (3.1.2). Problem is on PHP but I can't update it. Is it possible that in CodeIgniter there is no way to use AJAX without passing for a CI_Controller? Or without setting headers by default from the controller, eventually.. RE: Impossible to use AJAX on PHP 5.6 - ivantcholakov - 12-22-2016 Hm. Switch temporarily CodeIgniter to 'production' mode to test whether this message disappears. Then turn back to 'development' to see this message again. Looks like there is a wrong PHP configuration setting, always_populate_raw_post_data - check what is its value. See how the following information might help: https://github.com/bcit-ci/CodeIgniter/issues/3254 https://github.com/piwik/piwik/issues/6465 RE: Impossible to use AJAX on PHP 5.6 - pex - 12-23-2016 (12-22-2016, 10:46 AM)ivantcholakov Wrote: Hm. Switch temporarily CodeIgniter to 'production' mode to test whether this message disappears. Then turn back to 'development' to see this message again. Looks like there is a wrong PHP configuration setting, always_populate_raw_post_data - check what is its value. See how the following information might help: Thanks! I checked them and I know the problem is on the PHP configuration. Problem here is again that I can't modify it, the admin is very "conservative" and doesn't want to modify the global setup of environment since other applications are working fine. As explained here http://stackoverflow.com/questions/28278705/always-populate-raw-post-data-trouble-accessing-request-payload-from-backbone "Some claim it happens when calling Code: header() And actually when i create my controller, extends from CI_Controller, there are new headers set automatically. I wish then try to find a solution to avoid this header to be sent.. RE: Impossible to use AJAX on PHP 5.6 - InsiteFX - 12-23-2016 .htaccess file try adding this: Code: <IfModule mod_php5.c> RE: Impossible to use AJAX on PHP 5.6 - pex - 12-23-2016 (12-23-2016, 05:40 AM)InsiteFX Wrote: .htaccess file try adding this: The server use Fastcgi, and I don't even have override permission set on my webdir. Sadly. Anyway, the solution that could work for me is: prevent the controller to add this header or remove them, if it's possibile. Other's AJAX applications are working but mine, built with CodeIgniter, doesn't. I tried to find where this headers are set on the system/ directory to remove them, trying to find a way to let CodeIgniter understand that I don't want headers if the controller has name "Ajax" but I couldn't find anything. RE: Impossible to use AJAX on PHP 5.6 - pex - 12-23-2016 Ok I found my solution, for everyone interested I just change my AJAX request from POST to GET.. Cause actually I didn't even send any data.. My error, I suppose Anyway, with GET it works anyway, without need to change settings on apache config. Thanks everybody for the help RE: Impossible to use AJAX on PHP 5.6 - ivantcholakov - 12-23-2016 Then you need to watch about browser caching for AJAX GET, disable caching for certain requests when the logic requires. Code: $.ajax({ |