Сразу в тему написал текст ошибки, что бы было просто и быстро найти другим.
И так к делу.
На сервер обновил PHP до 8 версии (в требованиях указано PHP 5.5+ что значит 8 подходит), но там было очень много изменений ломающих обратную связь и эта ошибка затрагивает одно из тех новинок.
Если сделать все под PHP 8 то на старых версиях тоже должно работать.
и так, при запуске сервера получаю вот такой текст:
на экране:
[2021-11-07 09:14:36] Benchmark 0.024335s (exec: 0.02434s, display: -5.0E-6s, DB: 0.012822s), memory: 762,480
и в логах:
Uncaught TypeError: Unsupported operand types: string + int in /classes/Player/playerTimeDiff.php:114
Проблема решается корректировкой строки 114:
$time_diff = (int)$user_time_diff[self::TIME_DIFF] + $user_time_diff[self::TIME_DIFF_UTC_OFFSET];
В PHP 8 они стали внимательно следить за типами переменных, и теперь нельзя сложить текстовую/логическую переменную и числовую, это Fatal Error
Далее загружается фоновая картинка, но не загружается шаблон, и тут я не придумал что делать.
В логе FatalError приходится сюда:
PHP Fatal error: Uncaught TypeError: sizeof(): Argument #1 ($value) must be of type Countable|array, null given in /game/classes/template.php(764) : eval()'d code:1
Полный лог сервера во вложении .
Не могу запустить игру даже после чистой установки.
Модератор: Gorlum
-
- Ефрейтор
- Сообщения: 17
- Зарегистрирован: 01 дек 2011, 13:17
- SuperNova login: kill_v
- Откуда: Смоленск
- Контактная информация:
Не могу запустить игру даже после чистой установки.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Однаиз первых он лайн игр.
-
- Император Вселенной
- Сообщения: 7522
- Зарегистрирован: 13 июн 2009, 15:06
- SuperNova login: Сингулярность/Gorlum
- Контактная информация:
Re: Не могу запустить игру даже после чистой установки.
Не подходит восьмерка - как раз из-за ломающих совместимость изменений. Попробуй поставить 7.1kill_v писал(а): ↑07 ноя 2021, 11:28 Сразу в тему написал текст ошибки, что бы было просто и быстро найти другим.
И так к делу.
На сервер обновил PHP до 8 версии (в требованиях указано PHP 5.5+ что значит 8 подходит), но там было очень много изменений ломающих обратную связь и эта ошибка затрагивает одно из тех новинок.
Если сделать все под PHP 8 то на старых версиях тоже должно работать.
и так, при запуске сервера получаю вот такой текст:
на экране:
[2021-11-07 09:14:36] Benchmark 0.024335s (exec: 0.02434s, display: -5.0E-6s, DB: 0.012822s), memory: 762,480
и в логах:
Uncaught TypeError: Unsupported operand types: string + int in /classes/Player/playerTimeDiff.php:114
Проблема решается корректировкой строки 114:
$time_diff = (int)$user_time_diff[self::TIME_DIFF] + $user_time_diff[self::TIME_DIFF_UTC_OFFSET];
В PHP 8 они стали внимательно следить за типами переменных, и теперь нельзя сложить текстовую/логическую переменную и числовую, это Fatal Error
Далее загружается фоновая картинка, но не загружается шаблон, и тут я не придумал что делать.
В логе FatalError приходится сюда:
PHP Fatal error: Uncaught TypeError: sizeof(): Argument #1 ($value) must be of type Countable|array, null given in /game/classes/template.php(764) : eval()'d code:1
Полный лог сервера во вложении www-error.zip.
ВНИМАНИЕ! Администрация в личную переписку не вступает, рукописи не возвращает и не рецензирует!
* Если у меня слишком хорошее настроение - я хожу почитать чат *
* Если у меня слишком хорошее настроение - я хожу почитать чат *