我正在使用PHP 5.4.4,使用FuelPHP ORM的save和update函数时出现了非常奇怪的行为。我尝试将序列化或JSON数据保存到数据库中的字段中,例如{"name":"michael"}。当我在Model::forge()之后直接使用model->save()时,它似乎总是正常工作,你可以看到存储在MySQL db中的字符串。
然而,如果我立即更改model->property = 'new property'(不是JSON或序列化数据属性),然后再进行另一个model->save(),90%的情况下会将所有的"转换成"。
当我逐行调试并逐行查看该问题时,它似乎不会再次出现!它将通过整个脚本,并仍然具有正确的"而不是"。
这个问题让我疯狂。我认为这是配置问题,否则会有更多的投诉,但我找不到正确的开关。我已经在我的.htaccess中设置了php_flag magic_quotes_gpc Off和php_flag magic_quotes_runtime Off(虽然在PHP 5.4+中不需要),并验证了两者都为false。
我没有更多的想法。任何值得调查的事情都将非常有帮助。
当我逐行调试并逐行查看该问题时,它似乎不会再次出现!它将通过整个脚本,并仍然具有正确的"而不是"。
这个问题让我疯狂。我认为这是配置问题,否则会有更多的投诉,但我找不到正确的开关。我已经在我的.htaccess中设置了php_flag magic_quotes_gpc Off和php_flag magic_quotes_runtime Off(虽然在PHP 5.4+中不需要),并验证了两者都为false。
我没有更多的想法。任何值得调查的事情都将非常有帮助。
"
已经变成了"
。如果这是由Fuelphp完成的,那么你应该扫描所有文件以查找该字符串。 - hakre