2012-07-05 55 views
6

我正在使用FOSFacebookBundleFOSUserBundle以及Symfony2来管理我的用户。我在本地有一切正常工作。但是,当我将所有内容都推送到暂存环境时,我注意到用户在注册时没有被持久化(使用教条实体管理器)。声明正在编写但未执行

我检查的第一件事是如果我可以使用实体管理器坚持其他的东西,这很好。接下来我去,并检查日志,发现插入语句有:

INSERT INTO user (username, username_canonical, email, email_canonical, enabled, salt, password, last_login, locked, expired, expires_at, confirmation_token, password_requested_at, roles, credentials_expired, credentials_expire_at, firstname, lastname, facebookID, date_of_birth, locale, gender, has_profile_pic, created_at, updated_at) 
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) 
({"1":"1234","2":"1234","3":"[email protected]","4":"[email protected]","5":true,"6":"","7":"","8":null,"9":0,"10":false,"11":null,"12":null,"13":null,"14":["ROLE_FACEBOOK"],"15":0,"16":null,"17":"Mr","18":"Foo","19":"1234","20":{"date":"1986-12-09 00:00:00","timezone_type":3,"timezone":"PRC"},"21":"nl_NL","22":"male","23":1,"24":{"date":"2012-07-06 01:34:47","timezone_type":3,"timezone":"PRC"},"25":{"date":"2012-07-06 01:34:47","timezone_type":3,"timezone":"PRC"}}) 

当我更换问号,用事先准备好的声明的价值和手动发出查询,一切工作正常。

有没有人有任何线索,这可能是什么?我也会很高兴提示如何进一步调试,因为我不知道下一步去哪里..

在此先感谢!

UPDATE:

我在MySQL日志再多看一眼,我注意到,INSERT语句正在准备,但从来没有执行(不像select语句)。我在错误日志中找不到任何错误。这里的mysql日志:

34 Prepare SELECT t0.username AS username1, t0.username_canonical AS username_canonical2, t0.email AS email3, t0.email_canonical AS email_canonical4, t0.enabled AS enabled5, t0.salt AS salt6, t0.password AS password7, t0.last_login AS last_login8, t0.locked AS locked9, t0.expired AS expired10, t0.expires_at AS expires_at11, t0.confirmation_token AS confirmation_token12, t0.password_requested_at AS password_requested_at13, t0.roles AS roles14, t0.credentials_expired AS credentials_expired15, t0.credentials_expire_at AS credentials_expire_at16, t0.id AS id17, t0.firstname AS firstname18, t0.lastname AS lastname19, t0.facebookID AS facebookID20, t0.date_of_birth AS date_of_birth21, t0.locale AS locale22, t0.gender AS gender23, t0.has_profile_pic AS has_profile_pic24, t0.created_at AS created_at25, t0.updated_at AS updated_at26 FROM user t0 WHERE t0.facebookID = ? 

34 Execute SELECT t0.username AS username1, t0.username_canonical AS username_canonical2, t0.email AS email3, t0.email_canonical AS email_canonical4, t0.enabled AS enabled5, t0.salt AS salt6, t0.password AS password7, t0.last_login AS last_login8, t0.locked AS locked9, t0.expired AS expired10, t0.expires_at AS expires_at11, t0.confirmation_token AS confirmation_token12, t0.password_requested_at AS password_requested_at13, t0.roles AS roles14, t0.credentials_expired AS credentials_expired15, t0.credentials_expire_at AS credentials_expire_at16, t0.id AS id17, t0.firstname AS firstname18, t0.lastname AS lastname19, t0.facebookID AS facebookID20, t0.date_of_birth AS date_of_birth21, t0.locale AS locale22, t0.gender AS gender23, t0.has_profile_pic AS has_profile_pic24, t0.created_at AS created_at25, t0.updated_at AS updated_at26 FROM user t0 WHERE t0.facebookID = '1234' 
34 Close stmt 

34 Query START TRANSACTION 
34 Prepare INSERT INTO user (username, username_canonical, email, email_canonical, enabled, salt, password, last_login, locked, expired, expires_at, confirmation_token, password_requested_at, roles, credentials_expired, credentials_expire_at, firstname, lastname, facebookID, date_of_birth, locale, gender, has_profile_pic, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) 
34 Close stmt 
34 Query COMMIT 
34 Quit 

任何线索?

更新2:

我已经登录的PDO语句执行的一些返回值倒在教义lib和事实证明,我在我的dev得到正常的返回值(1)环境。但是,我在我的生产环境中获得返回值。看起来像另一个提示,但我不知道该怎么做。

顺便说PDOStatement::errorCode返回00000(表明一切正常)

+0

你检查Symfony日志吗? – drupality 2012-07-05 18:22:57

+0

是的,上面的插入语句来自symfony日志。找不到其他有趣的东西。 – 2012-07-05 18:26:12

+0

这个查询之后是否有可能发生错误,导致事务被恢复?检查mysql查询日志 – arnaud576875 2012-07-05 18:45:19

回答

1

有可能是在对生产设置上PDO_MYSQL连接问题。检查一次。 根据comment给出答案。

+0

但是symfony在这种情况下不应该抛出异常? – Federkun 2012-07-12 18:12:48

+0

@Laxus symfony不会在生产中抛出异常 – JamesHalsall 2012-07-13 07:50:20

+0

不是真的赚到钱,而是因为rcarver没有回应,我会奖励你赏金:) – 2012-07-15 16:50:35