Only one PHP script can run at a time. For example, open two tabs. In the first, run the query
Now attempt to do something in the second tab. Nothing happens until the first query has completed. This is (almost certainly) caused by session locks. PHP maintains a lock on each session (whether file-based session storage or otherwise). This is to prevent two scripts writing to the session store concurrently.
If a script knows that it has finished writing to the $_SESSION superglobal, it can explicitly release the lock. This will allow other scripts to run in parallel.
It is possible that PMA is setting session variables *after* processing (potentially lengthy) SQL operations. If so, it needs to be refactored to set them earlier in the processing.
The fix for this is to add a call to session_write_close() at a suitable point, early in the processing.