Използвам PHP 5.4.4 и получавам много странно поведение с функциите за запазване и актуализиране на FuelPHP ORM.
Опитвам се да запазя или сериализирани, или JSON данни в поле в базата данни, така че нещо като {"name":"michael"}
. Когато използвам model->save()
директно след Model::forge()
, изглежда, че работи добре в 100% от времето и низът, който виждате, е този, който се съхранява в MySQL db.
Ако обаче незабавно променя нещо като model->property = 'new property' (не JSON или свойството на сериализирани данни) и след това направя друго model->save()
, това в 90% от случаите ще превърне всичките ми "
в "
;
Изглежда, че когато отстранявам грешки и преминавам през ред по ред, той няма да възпроизведе този проблем! Ще премине през целия скрипт и ще има правилния "
вместо "
;
Този проблем ме побърква. Предполагам, че е нещо от конфигурацията или ще има много повече оплаквания, но не мога да намеря правилния превключвател. Зададох както php_flag magic_quotes_gpc Off
, така и php_flag magic_quotes_runtime Off
в моя .htaccess (въпреки че не би трябвало да е необходимо в PHP 5.4+) и проверих, че и двете са неверни.
Идеите ми свършиха. Всичко за разследване би било наистина полезно.
"
се е превърнало в"
. Ако това се прави от Fuelphp, трябва да сканирате всички файлове за този низ. - person hakre   schedule 01.10.2012