Что я испытал за эти годы:
- Слишком старый / новый драйвер БД для PHP
- Проблемы на пути
- Изменение с 32-битной на 64-битную систему или наоборот влияет на внутреннюю обработку целых чисел в PHP (битовые вычисления неожиданно возвращают странные результаты)
- Проблемы с локалью и локализацией
- Отсутствующие функции (руководство обычно отмечает, что оно не работает или ведет себя по-разному в Windows)
- Имя файла оболочки
И всегда проверяйте и дважды проверяйте, чтобы модули Apache и PHP были по крайней мере той же версии, что и в старой системе.
Также неплохо запустить виртуализацию GNU / Linux поверх Windows, например, с VMWare, если кажется, что код не работает в Windows.