symfony 2.8.8如何检查框架连接到mysql(mariadb)

我使用的是Symfony 2.8.8。 框架,我非常喜欢开发我的第一个Web应用程序。 symfony书很有用。 我在数据库和学说章节。</ p>

我的问题是:是否有一种简单的方法可以知道数据库是否正常运行,并且symfony能够在写入之前连接到数据库 生成数据库/实体的doctrine类文件?</ p>

我使用以下环境:</ p>


PHP:5.5.38 cli ,

SYMFONY:2.8.8,

数据库:mariadb 10.0.17通过XAMPP v5.6.23安装。 使用XAMPP控制面板3.2.2启动,

WEBSERVER:php内部web服务器加载php.ini文件。

INI:php.ini取消注释extension = php_mysql.dll,extension = php_pdo_mysql.dll 。 更新了parameters.yml以指向托管的mariadb.Updated config.yml以使用pdo_mysql驱动程序

操作系统:Windows 7 </ p>
</ blockquote>
</ div>

展开原文

原文

I am using Symfony 2.8.8. framework and am quite hooked onto it for developing my first web application. The symfony book is very useful. I am on the database and doctrine chapter.

The question I have is: Is there a simple way to know that the database is functional and symfony is able to connect to the database before writing the doctrine class files that generate the database/entities?

I am using the following environment:

PHP: 5.5.38 cli,
SYMFONY: 2.8.8,
DATABASE: mariadb 10.0.17 installed through XAMPP v5.6.23. launched using XAMPP control panel 3.2.2,
WEBSERVER: php internal web server with loading of php.ini file.
INI:php.ini uncommented extension=php_mysql.dll, extension=php_pdo_mysql.dll. Updated parameters.yml to point to hosted mariadb.Updated config.yml to use pdo_mysql driver
OS: windows 7

doushuo8677
doushuo8677 嗨普亚,谢谢你的回复。我尝试使用doctrine\ORM\EntityRepository。我收到错误“未定义的方法getEntityManager”。你能帮我辨认一下这个问题。我使用下面的命令:php-S127.0.0.1:44-t<path>-c<path>\Php.iniC:\php\>php--ini配置文件(php.ini)路径:C:\WindowsLoaded配置文件:(无)检查加载的扩展,它显示PDO和mysqlnd已加载。我错过了任何扩展吗?[PHP模块mysqlndodbcPDO检查了phpext文件夹中的dll文件。(php_pdo_mysql,php_mysql)
接近 4 年之前 回复

1个回答

Try using this. I'm not sure if its the same for mariadb.

Create a controller and past this inside the controller.

$entityManager = $this->getEntityManager() ;

try {
$entityManager->getConnection()->connect();
} catch (\Exception $e) {
// failed to connect
}

[EDITED]

I did some research and it seems like getEntityManager(); is deprecated since 2.3

You can use

// Get the entity manager
   $em = $this->getDoctrine()->getManager();
// Connection will be written as
   $em = $this->getDoctrine()->getConnection();

Or

Check this documentation Doctrine connection

dongxiao3694
dongxiao3694 试试这个$ em = $ this-> getDoctrine() - > getManager();
接近 4 年之前 回复
douchuanchai2793
douchuanchai2793 嗨普亚,谢谢你的回复。 我尝试使用doctrine \ ORM \ EntityRepository。 我收到错误“未定义的方法getEntityManager”。 这里有一些分析是我可以收集的。
接近 4 年之前 回复
douxin8749
douxin8749 你有它:D Thnx DevDonkey
接近 4 年之前 回复
doudao3170
doudao3170 symfony并不关心它是什么db类型。 这就是为什么它用学说抽象出来的原因。 虽然tbh,但如果没有db连接,symfony会在它到达目前之前抛出一个错误
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问