gpt4 book ai didi

php - Symfony 'SQLSTATE[HY000] [1049] Unknown database ' symfony''

转载 作者:太空宇宙 更新时间:2023-11-03 11:38:12 24 4
gpt4 key购买 nike

我正在和一些 friend 一起做一个 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 的空数据库,看看会发生什么。Ar 首先加载页面,但随后我们在尝试登录时会收到相同的错误(因为我们仍然需要访问 testdb 数据库中的数据)。

    Base table or view not found: 1146 Table 'symfony.leden' doesn't exist

在此错误中,它还引用了 symfony 数据库,而不是 testdb 数据库。

是否有任何可能的方法来解决这个问题,并让 symfony 识别正确的数据库(testdb)而不是访问名为 symfony 的不存在的数据库?

最佳答案

既然您已经创建了名为 symfony 的数据库,那么您需要在 parameters.yml 文件中更改它:

database_name: symfony

或者您可以从命令行运行:

php bin/console doctrine:database:create

这将在您的 parameters.yml 文件中创建数据库。

您还需要设置 MySQL 用户名和密码。默认值是“root”和“null”,因此通常不会起作用。


编辑 #2从评论反馈听起来像是缓存问题。从命令行试试这个:

php bin/console cache:clear --env=prod

看看是否可行。

关于php - Symfony 'SQLSTATE[HY000] [1049] Unknown database ' symfony'',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43965093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com