Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Serialize i error offset
potreb
post
Post #1





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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ę.
Go to the top of the page
+Quote Post
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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!).
Go to the top of the page
+Quote Post
potreb
post
Post #3





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
irmidjusz
post
Post #4





Grupa: Zarejestrowani
Postów: 279
Pomógł: 60
Dołączył: 25.02.2012

Ostrzeżenie: (0%)
-----


a wyświetl dla pewności PHP_INT_SIZE
Go to the top of the page
+Quote Post
Crozin
post
Post #5





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
potreb
post
Post #6





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 04:04