我正在使用 PHP 5.4.4,并且使用 FuelPHP ORM 保存和更新功能时出现了非常奇怪的行为。
我正在尝试将序列化或 JSON 数据保存到数据库中的字段中,例如{"name":"michael"}
. 当我model->save()
直接使用它时,Model::forge()
它似乎 100% 的时间都可以正常工作,并且您看到的字符串是存储在 MySQL 数据库中的字符串。
但是,如果我立即更改诸如 model->property = 'new property' (不是 JSON 或序列化数据属性)之类的东西,然后再做另一个model->save()
,它将 90% 的时间将我的全部"
变为"
;
似乎当我调试问题并逐行执行时,它不会重现此问题!它将贯穿整个脚本,并且仍然具有正确的"
而不是"
;
这个问题快把我逼疯了。我会假设它是一个配置问题,否则会有更多投诉,但我找不到合适的开关。我已经在我的 .htaccess 中设置了两者
php_flag magic_quotes_gpc Off
(php_flag magic_quotes_runtime Off
尽管在 PHP 5.4+ 中不需要它)并验证两者都是错误的。
我在这里没有想法。任何要调查的东西都会非常有帮助。