Local By Flywheel / LocalWP issues
Local By Flywheel or their new name, LocalWP, is a great product, making it simple to create a local environment.
But WP Synchro currently have a compatibility issue with LocalWP, causing REST services to fail.
The issue is not in WP Synchro and can be reproduced with simple code without WP Synchro.
The problem comes when sending multiple HTTP requests.
The good people at LocalWP / Local By Flywheel is informed about this bug, including how to reproduce
So hopefully a fix will be implemented soon.
Feel free to reach out to us or them, to get the latest update on this issue.
Version 1.7.0 included some changes to the WP Synchro health check, so that it does not take up more PHP workers then what is available in LocalWP. But it is just a workaround on the health check to the still existing bug in LocalWP. So the health check should no longer show problems on Mac OS. Linux version of LocalWP never seem to have the same problems for some reason.
But, there is still issues with LocalWP under Windows, which is caused by the NGINX and Apache configurations. For NGINX, the problem is simply that is does not work in a stable way under Windows with PHP and only spawns two PHP workers. For Apache as webserver with PHP and mod_fcgid, it pretty much just fails for every request other than the main request. So there is most certainly still bugs in LocalWP for Windows when doing multiple connections at a time.
We have had user reports that a LocalWP update together with 1.7.0 on Mac OS now works like it should, which is nice. We also ourselves did a successful synchronization on Mac OS. Hopefully that is the experience for everyone else also. Please let us know if that is not the case.
So some progress there, but still problems under Windows. Hopefully they will get to fixing that in the near future. But fixing NGINX under windows is probably not the way forward here, as it lacks NGINX support together with PHP. So if you are listening LocalWP: Remove Nginx from Windows version or make Apache default and change the configuration of Apache to mod_php instead of using mod_fcgid. And finally, make sure enough workers are ready for action :)
We did a lot of testing on LocalWP to determine what the problem is and how it could be fixed.
If it was a bug in WP Synchro, we would like to get it fixed, as a lot of people like LocalWP.
So our findings were these:
- Windows version of LocalWP:
- We could reproduce the issue (after spending a lot of hours) by some simple code without WP Synchro installed, meaning it is not a bug in WP Synchro. The code was posted on their forums, but they could not reproduce it on Mac OS. But that is for a good reason.
- Essentially every other request done to the webserver failed, which is super weird, but thats the result.
- Mac OS version of LocalWP:
- On Mac OS the health check failed, with error that it could not connect to X REST service. This is caused by not having enough worker processes going in the background. Because what happens is that the health check code takes up one process, which in turns calls REST service on the same site, twice in succession (first to initate and after that to masterdata), also taking up workers. At the same we had a timeout check, which also occupies a PHP worker. That simply depleted the processes, which obviously is very much to low. It is not a problem for a normal simple web app, that does not call it self multiple times like WP Synchro though.
- Similar issue kinda described here: https://community.localwp.com/t/increase-number-of-php-fastcgi-processes-to-serve-simultaneous-requests/24499
- But since it does not suffer the same weird issue like Windows, where it fails on every other request and aside from the health check error, actually works like it should. So making the health check more gentle on the worker processes will probably be a workaround.
- Linux version of LocalWP:
- All seems well, which is nice :)
Still using free version? - Try PRO with 14 day free trial
PRO version makes it possible for you to synchronize files between your sites and to
automatically make a database backup before migration.
You will get support for Basic Authentication and email notifications on success or failure. You also get access to priority support