Я использую PHP 5.4.4, и у меня очень странное поведение с функциями сохранения и обновления ORM FuelPHP.
Я пытаюсь сохранить либо сериализованные данные, либо данные JSON в поле базы данных, поэтому что-то вроде {"name":"michael"}
. Когда я использую model->save()
сразу после Model::forge()
, он работает нормально в 100% случаев, и строка, которую вы видите, — это та, которая сохраняется в базе данных MySQL.
Однако, если я немедленно изменю что-то вроде 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