I've got a long running php 7.2 script that is producing a zip file. I want to use a looping ajax call to check on the progress of building the zip file. The second script appears to be locked and doesn't start processing until the first script is completely done.
In fact, the second script doesn't even print the error_log() on line 1 of my index.php routing script until after the first script is completely finished.
The top of my index.php
router script:
<?
error_log('top of index '.$_SERVER['REQUEST_URI']);
This is true even if I'm just requesting static image resources. The error_log() on line 1 doesn't even print until after the long-running script has completely finished.
At first, I believed I was running into Session Locking as described here but the solution they offer doesn't seem to work (calling session_write_close()
), and I'm wondering if something else is going on because the second script is locking before line 1 as opposed to locking up when I try to start the session. The second script doesn't seem to be starting AT ALL. I thought maybe the server was automatically starting the session before line 1, but I checked and my server has session.auto_start=0.
Is there some server configuration I need to set?
What am I missing? What am I doing wrong?
I'm running this on localhost (Mac) with the built-in PHP server.
php -c /usr/local/etc/php/7.2/php.ini -S 127.0.0.1:8080 index.php