Страница 1 из 2

Не правильное определение ядра windows

Добавлено: 17 ноя 2014, 16:36
SX2
Добрый день! Подскажите почему php определяет Windows 8.1 и Windows server 2012R2? как:
System Windows NT 6.2 build 9200
вместо
System Windows NT 6.3 build 9600

Проверял на всех версиях php 5.2. 5.3. 5.4. 5.5
1.jpg
(74.31 КБ) 0 скачиваний
2.jpg

Добавлено: 17 ноя 2014, 16:56
Максим
Вы наверное включили запуск в режиме совместимости с Windows 8 в свойствах файла Open Server.exe Почему и зачем вы это сделали - вам виднее. PHP тут не виноват.

Добавлено: 17 ноя 2014, 17:01
SX2
Не включал я его в режиме совместимости, обычно установил и запустил!

Добавлено: 17 ноя 2014, 17:03
Максим
SX2 писал(а):Не включал я его в режиме совместимости, обычно установил и запустил!
Указанное вами несоответствие может быть только в том случае, если включали :) Проверьте, правая кнопка на файле Open Server.exe - свойства:

Изображение

Эта галочка (первая сверху) должна быть отключена.

Добавлено: 17 ноя 2014, 17:06
SX2
Изображение

Добавлено: 17 ноя 2014, 17:23
Максим
Всё спасибо, уже ничего не нужно. Я сам проверил в виртуальной машине. Действительно это баг PHP. Просто гораздо чаще подобные ошибки возникают из-за запуска в режиме совместимости, поэтому сразу про него и подумал.

По итогу проверки - все старые версии PHP вообще не определяют что это Windows 8 или 8.1, последняя версия PHP 5.5 может определить что это Windows 8 билд 9200 но не определяет 8.1, видимо эта проблема исправлена в PHP 5.6 (сможете проверите когда выйдет Open Server с этим модулем, думаю на этой неделе).

Так что по всей видимости PHP берет данные о версии Windows не напрямую из системы, а определяет своими корявыми алгоритмами. Что из этого получается вы сами видите.

Добавлено: 17 ноя 2014, 17:26
SX2
PHP 5.2 тоже определяет как Windows NT 6.2 build 9200

Добавлено: 17 ноя 2014, 17:32
Максим
SX2 писал(а):PHP 5.2 тоже определяет как Windows NT 6.2 build 9200
Написал выше - ждите обновления. PHP 5.2 самая старая версия PHP что есть в Open Server, у меня в виртуальной машине она тоже ничего не определяет, пишет 9200. Более новые версии PHP добавляют к этому Unknown Windows version. Только 5.5 определяет редакцию Windows 8 (Business edition), но всё равно пишет Windows 8 и билд 9200. Так что без обновления PHP тут никак, хотя и там не факт что будет правильно работать.

Добавлено: 17 ноя 2014, 17:35
SX2
Изображение

PHP 5.2 хоть и самая старая, зато самая быстрая! (Лично для меня)

Добавлено: 17 ноя 2014, 17:42
Максим
SX2, PHP 5.2 крайне медленная версия, как бы вы ни думали. Чем новее версия PHP, тем быстрее она работает, это факт ;)