I'd expect it's fixed since PHP 7.1.0:
https://www.php.net/manual/en/function.rand.php
"Note: As of PHP 7.1.0, rand() uses the same random number generator as mt_rand(). To preserve backwards compatibility rand() allows max to be smaller than min as opposed to returning FALSE as mt_rand()."
Maybe somebody could run the code from the OP on Windows with a newer PHP and check?
https://web.archive.org/web/20191106104440/http://cod.ifies....
TL;DR the default Windows random number generator is (was?) an LCG[1], and that's what PHP calls into by default.
[1] https://en.wikipedia.org/wiki/Linear_congruential_generator