我在Laravel 4.2和DB :: transaction中遇到了这个小问题.我遇到了没有回滚的事务的问题,所以我尝试了最简单的代码片段并将其放入routes.PHP中进行测试:
DB::transaction(function(){ $user = App::make("User"); $user->save(); throw new Exception("Should not create users"); }); ... ... ... Some other code here
我只是尝试在事务闭包中创建用户,并在创建用户之后抛出异常以强制回滚事务.我的问题是,即使抛出异常,事务也不会回滚.每次刷新应用程序时,我都会在数据库中获得新用户.相同的代码在本地计算机上按预期工作,但在我计划用于生产的服务器上,它只是不会回滚事务.你有什么想法吗?
编辑:
Server MysqL:5.1.73-cll – MysqL社区服务器(GPLv2)
服务器PHP:PHP 5.4.30(cli)(内置:2014年7月19日15:22:18)
本地PHP:5.5.9
本地MysqL:5.6.16
服务器位于CentO上,而本地计算机是Windows 7.