我正和一位朋友一起参与symfony(2.5。)项目,而我们正试图让网站工作,但不知怎的,它一直在崩溃。我们尝试更新到更新版本的symfony(2. )并清除缓存,但似乎没有任何效果。
我认为问题的根源是symfony试图以某种方式访问'默认'数据库而不是我们在
中指定的数据库 parameters.yml
这是文件:
parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: 3306
database_name: testdb
database_user: root
database_password: null
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
secret: ThisIsVerySecret
locale: en
debug_toolbar: true
debug_redirects: false
use_assetic_controller: true
Config.yml
- >学说部分
# Doctrine Configuration
doctrine:
dbal:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
orm:
auto_generate_proxy_classes: "%kernel.debug%"
auto_mapping: true
paginaController
:
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Cache;
class PaginaController extends Controller
{
/**
* @Template
*/
public function partnersAction()
{
return array();
}
/**
* @Template
* @Cache(expires="tomorrow")
*/
public function homeAction()
{
return array();
}
/**
* @Template
*/
public function geschiedenisAction()
{
return array();
}
/**
* @Template
*/
public function profielAction()
{
return array();
}
/**
* @Template
*/
public function reunistenAction()
{
return array();
}
/**
* @Template
*/
public function linksAction()
{
return array();
}
}
我们创建了一个名为symfony
的空数据库,看看会发生什么。
首先加载页面,但是在尝试登录时我们会收到相同的错误(因为我们仍然需要访问testdb
数据库中的数据)。
Base table or view not found: 1146 Table 'symfony.leden' doesn't exist
在此错误中,它还引用symfony
- 数据库,而不是testdb
- 数据库。
是否有任何可能的方法来解决此问题,并让symfony识别正确的数据库(testdb
),而不是访问名为symfony
的非排除数据库?
答案 0 :(得分:1)
由于您已创建名为symfony
的数据库,因此您需要在parameters.yml文件中更改此内容:
database_name: symfony
或者从命令行运行:
php bin/console doctrine:database:create
这将在parameters.yml文件中创建数据库。
您还需要设置MySQL用户名和密码。默认为'root'和'null',因此通常不起作用。
编辑#2。编辑#2 听起来像评论反馈中的缓存问题。从命令行尝试:php bin/console cache:clear --env=prod
看看是否有效。