I have a WordPress website that runs on Windows Server 2012 R2 through IIS and PHP 7.1.1. Everything works fine, except once or twice a day, the site returns a blank screen (HTTP 500) and the error log shows the following errors:
[17-Jan-2019 15:29:15 UTC] PHP warning: require_once (D: Webs www.WebS): the transmission could not be opened: there is no such file or directory in D: Webs www.WebSite.com wp-content plugins captcha bws_menu bws_include.php online 91
[17-Jan-2019 15:29:15 UTC] PHP fatal error: require_once (): Failed to open & # 39; D: Webs www.WebSite.com/wp-content/plugins/captcha/bws_menu/bws_functions.php' (include_path = & # 39;.; C: php pear & # 39;) at D: Webs www.WebSite.com wp-content plugins captcha bws_menu bws_include.php on line 91
FYI – I have changed the path of D: Webs to show a fictitious website name.
Note that the path is cut off. Sometimes the road is cut in different places. Sometimes these are completely different files for completely different plugis. Sometimes they even complain about the WordPress kernel. The only coherent thing is that once this happens, the same route is the failure until you recycle the group of applications. When it happens again, it is a different file, but it complains about the same file until I recycle the application group.
What gives?
The only solution I have is to recycle the group of applications or configure IIS to be recycled automatically on a schedule. None of these solutions is good in the long term.
I must also bear in mind that this server has another 10 WordPress sites running. Each one has its own group of applications and it runs from its own folder. They have never, never had this problem.
In addition, the resources on the server are excellent. At higher traffic times, CPUs have less than 50% and there is less than 75% memory utilization. There are also many gigabytes of free disk space in the system volume, as well as the volume of data from which the site is running.
Do not respond with "do not run PHP or WordPress on Windows / IIS". That is not useful: I can not change the environment and I have to find the solution.
I have 100% control of the server environment and can debug / troubleshoot as needed. So, if there is any way to get more information, let me know!