Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Serialize i error offset
Forum PHP.pl > Forum > Przedszkole
potreb
Cześć. Mam takie zserializowane dane:
a:1:{i:1411372341502;a:3:{s:9:"firstname";s:15:"Michal Magorski";s:8:"lastname";s:18:"Fleet Card Manager";s:5:"email";s:29:"michal.magorski@se.deroil.com";}}

Odczyt na serwerze produkcyjnym działa bez problemu. Po zgraniu go na testa, zserializowane dane wyrzucaja offset error. Co może być tego powodem? Export bazy był robiony przez wtyczkę.
Crozin
Zapewne serwer na którym się to sypie jest 32-bitowy i liczba 1411372341502 nie mieści się w zakresie typu INT. Tak, PHP jest #@%^#$& i zakres INT jest zmienny (sic!).
potreb
Localhost mam postawiony na 64 bitowym, dane pochodzą z home'a. Czy można to w jakiś sposób zmienić? Preg_replacem ciąg 1411372341502 zmieniłem na s:13"1411372341502" i wtedy pomogło.
irmidjusz
a wyświetl dla pewności PHP_INT_SIZE
Crozin
A skąd się biorą takie klucze w tablicy? Może warto na etapie PHP-a wymusić tam stringa, typu:
  1. $data[(string) $someId] = ...;
Ręczne manipulowanie zserializowanymi danymi jest raczej niebezpieczne.
potreb
Robie upgrate aplikacji. Zrobiłem sobie testa na serwerze, będę miał to samo środowisko. Co do twojej uwagi, to wszystkie klucze będa typu string, tak dla pewności.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.