1
在生产服务器上配置symfony项目时遇到一些问题。当我运行命令主义--build --all - 并且加载它给我的错误在生产环境:Symfony部署问题
>> doctrine Dropping "doctrine" database PHP Notice: Undefined index: dbname in /var/www/sf_project/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1472 Notice: Undefined index: dbname in /var/www/sf_project/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1472 >> doctrine SQLSTATE[42000]: Syntax error or access violation: 1064 You have an erro...e right syntax to use near '' at line 1. Failing Query: "DROP DATABASE " >> doctrine Creating "dev" environment "doctrine" database PHP Notice: Undefined index: dbname in /var/www/sf_project/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1439
但是错误后,成功创建表。但是如果我第二次运行该命令,它会在创建表的过程中部分地失败。
我已经为生产环境正确更改了我的database.yml配置。这里是:
all: doctrine: class: sfDoctrineDatabase param: dsn: mysql:host=localhost;dbname=sf_project port: 3306 username: root password: mainserver
它的工作权在当地的环境,虽然。 有人可以对此有所了解吗?
编辑说明:将'/cache//prod/config/config_databases.yml.php'文件的内容添加为'xzyfer'建议的内容。
这里的内容:
return array( 'doctrine' => new sfDoctrineDatabase(array ( 'dsn' => 'mysql:host=localhost; dbname=sf_project', 'port' => 3306, 'username' => 'root', 'password' => 'mainserver', 'name' => 'doctrine', )),);
@xzyfer:由于它已经删除了未定义指数的错误消息。但是在删除和创建数据库时出现另一个SQL错误:'> doctrine删除“doctrine”数据库 >> doctrine SQLSTATE [42000]:Sytax错误或访问提示:1064您在您遇到错误... n在第1行附近使用正确的语法。失败的查询:“DROP DATABASE” >> doctrine创建“prod”环境“doctrine”数据库 >> doctrine SQLSTATE [42000]:语法eror或access violtion:1064您有一个错误在你...在第1行附近使用正确的语法。失败的查询:“CREATE DATABASE” – med 2011-03-01 09:12:27
你清除了缓存吗?该错误实质上是说你已经在你的database.yml中给出了一个dns名字。试试./symfony cc首先是 – xzyfer 2011-03-01 09:53:35
你的缓存是否可写? – cuhuak 2011-03-01 11:38:17