Laughably this "error" occurs only on windows. The windows filesystem is case insensitive, the ENTIRE rest of the world is not.
I hadn't thought of that since I don't use windows for ACTUAL server use, and only in initial testing via XAMPP.
Thanks, that's something I should add a safety check for, at least for the actions.
Hmm... glob instead of file_exists? It does return case sensitive.
Something like ...
!empty($match = glob('/actions/' . $ACTION, GLOB_ONLYDIR)) &&
($match !== false)
... for the directory matching. File matching could be similarly implemented.
Would only be needed for Winblows though, so I'd probably use a wrapping file check function or object, with which one is loaded being based on capabilities detection. One of the few times overloading a PHP function would be nice. Actually that code would work on all systems and not be significant overhead. The CHECK for it might take more time than just doing it.
As much as I'd like to say "F*** the halfwit morons hosting on Windows" I know that's not a viable choice.