używam PHP 5.4.4 i mi się bardzo dziwne zachowanie z FuelPHP ORM zapisać i aktualizacji funkcji.FuelPHP aktualizacja ORM skutkuje " zamiast "sporadycznie
Próbuję zapisać albo dane serializowane lub JSON do pola w bazie danych, więc coś takiego jak {"name":"michael"}
. Kiedy używam model->save()
bezpośrednio po Model::forge()
wydaje się, że działa dobrze w 100% czasu, a ciąg, który widzisz, jest przechowywany w bazie danych MySQL.
Jeśli jednak natychmiast zmienię coś w stylu model-> właściwość = "nowa właściwość" (nie JSON lub właściwość serializowanych danych), a następnie wykonaj inną model->save()
90% czasu zmieni mój "
w "
;
Wygląda na to, że po debugowaniu problemu i krok po linii, nie powieli tego problemu! Przejdzie przez cały skrypt i nadal będzie mieć poprawne "
zamiast "
;
Ten problem doprowadza mnie do szału. Zakładam, że jest to konfiguracja, albo będzie dużo więcej skarg, ale nie mogę znaleźć właściwego przełącznika. Ustawiłem zarówno php_flag magic_quotes_gpc Off
i php_flag magic_quotes_runtime Off
w moim. Htaccess (chociaż nie powinno być potrzebne w PHP 5.4+) i zweryfikowaliśmy, że oba są fałszywe.
Brak tu pomysłów. Coś do zbadania byłoby naprawdę pomocne.
wydaje mieć do czynienia z filtrem wyjściowym. Zauważyłem, że sendin g Wiadomość e-mail z powiadomieniem, która wykorzystywała dane, wydaje się być przyczyną problemu, a następnie ponownie, jeśli spróbuję uzyskać dostęp do tego pola z funkcji modelu w widoku, robi to. – michael
jeśli nie masz więcej pomysłów, zainstaluj xdebug, podążaj za kuźnią i ratuj ... magiczne cytaty nie mają nic wspólnego z kodowaniem cudzysłowów w html i tak na pewno nie istnieje w 5.4 (nawet jeśli to system polegał na je, a teraz go nie ma), jest pewne ustawienie w twoim ORM transformującym te wartości. – fd8s0
Nie jest jasne z twojego pytania * w którym momencie * zdajesz sobie sprawę, że '' 'zamieniło się w' " '. Jeśli to zrobione przez Fuelphp powinieneś zeskanuj wszystkie pliki dla tego ciągu – hakre