我试图将Symfony2与Propel ORM一起使用来生成要在MySQL数据库上运行的SQL。数据库在端口3306上的VM上运行.3306由virtualbox转发到VM,因此可以从外部访问数据库。 Symfony2正在Apache上运行,它也位于VM内部。
当我尝试使用:
生成模型类时php app/console propel:build
一切正常,这些类可以在我的项目中使用。但是,当我尝试使用:
生成SQL时php app/console propel:sql:insert --force
我收到错误说:
下一个异常'PDOException',消息'SQLSTATE [HY000] [2006] MySQL服务器已经消失了'[删除] /propel1/generator/lib/util/PropelSqlManager.php:259堆栈跟踪:
随后是堆栈跟踪。
我检查了配置和参数YML文件,一切都正确。当我测试与纯PHP的连接时,使用完全相同的凭据,一切正常,我能够对数据库执行SQL。
有关可能导致此问题的任何想法?我觉得它可能与yml中的不正确字符有关,因为我的密码包含哈希符号(#)。
答案 0 :(得分:1)
这可能是由于虚拟机资源不足造成的。这种错误通常在超时时发生。
您可以尝试在php.ini
:
mysql.connect_timeout = 300
default_socket_timeout = 300