Progress Page Doesn't Display While Script Is Running

When long scripts run, the progress page is supposed to display continuous ....... until complete. Mine just runs for a long time an does nothing until the end, then it shows the page just before continuing (assuming it completed). I suspected apache output buffering but it is off in my config, however the php info page indicates no value.

Any ideas? I'm not sure how to force it off in the local php config or .htaccess to make sure that's not the issue.

Between this and the other post you seem to have an odd apache configuration. I would guess that you have some additional 3rd party caching or accelerator installed. Suggest you turn off all external caching (like CDN, Redis, etc.) and all accelerators (APC, etc.) until you can diagnose your issues.

Between this and the other post you seem to have an odd apache configuration. I would guess that you have some additional 3rd party caching or accelerator installed. Suggest you turn off all external caching (like CDN, Redis, etc.) and all accelerators (APC, etc.) until you can diagnose your issues.

No 3rd party caching or accelerator appears to be present... v2.x seems to use the amazon CDN, but that appears to built into cs-cart. I have v4.x in a new on its own subdomain so it wouldn't be effected by what v2 has anyway.

What exactly process is running? Is it standard export/import or what?

What exactly process is running? Is it standard export/import or what?

Exporting products, orders, store import, database backup...

CS-Cart uses ob_flush and fluch PHP functions to force the content to be displayed. But servers can change it's behavior ( see documentation: http://ru2.php.net/manual/en/function.flush.php )

Do you use Nginx on your server? There were problems with the progress bar and Nginx due to buffer size

Do you use Nginx on your server? There were problems with the progress bar and Nginx due to buffer size

Nope, no Nginx.

I tried turning the apache output buffer on with a small size and that didn't change anything either.

When long scripts run, the progress page is supposed to display continuous ....... until complete. Mine just runs for a long time an does nothing until the end, then it shows the page just before continuing (assuming it completed). I suspected apache output buffering but it is off in my config, however the php info page indicates no value.

Any ideas? I'm not sure how to force it off in the local php config or .htaccess to make sure that's not the issue.

Please ask your server administrators to change the output buffer settings and re-check the issue. If it does not help, please try disabling the Zend OPcache module on the server (if it is installed) and re-check the issue again.

Note that if the underlying PHP process is killed (php timeout, apache timeout, fastCGO timeout, or any fatal error), the JS progress bar displayed will just keep showing. It doesn't really account for any underlying failures, it only gets update to progress via ajax. If no progress updates, it just blindly sits there showing the same progress. It should have a timeout. I.e. if it doesn't get an update in X amount of time, it should assume there is a failure upstream and abort with a message.

Remember, the progress bar runs in the browser while the process runs on your server. The browser is "stateless" so it just does what it was last told to do.

While export/import the progress bar can be frozen for another reason - it works as designed :) . Expacially at the beginnig - it waits until all data from file is being processed.

It's not the 'progress bar' I'm talking about, it's the blank white page that shows progress on certain stuff, eg "Backing up data for.........." and the periods continue until the next step, like a verbose progress output.

Anyhow, it was the deflate module causing the unwanted buffering. It was configured in an include (as well as the default cs-cart config). I removed the html and text from the include filter directive and it works normally.

Glad to here it.

Issue is the same for those pages as for progress bar. It's is stateless and is waiting for a header to redirect (change location) and it never comes. But it is patient! :-)

But it is patient! :-)

... if timeout is not given