如何在 symfony 中添加自定义 mysql 数据库
How to add custom mysql database in symfony
首先大家好!
我在 Symfony 1.4 网站上,我对这个框架并不了解。
站点已经使用了 2 个数据库连接,在 databases.yml
all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: mysql:host=localhost;dbname=my_db_name
username: my_username
password: ***
charset: utf8
encoding: utf8
attributes:
default_table_collate: utf8_general_ci
default_table_charset: utf8
use_native_enum: true
# Base de test
test:
doctrine:
class: sfDoctrineDatabase
param:
dsn: mysql:host=localhost;dbname=my_other_db_name
username: my_username
password: ***
charset: utf8
encoding: utf8
attributes:
default_table_collate: utf8_general_ci
default_table_charset: utf8
use_native_enum: true
我认为它在工作,我从不使用基础测试,但我想它在工作。
我需要使用另一个数据库,这次不是在 localhost 中,而是来自另一个服务器。
我尝试了很多东西,我从 Whosebug post.
中学到了东西
我在我的模块中创建了一个配置文件夹,我将代码放入新的 databases.yml
all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: mysql:host=mysql_host.bdb;dbname=mysql_db_name
username: mysql_username
password: ***
charset: utf8
encoding: utf8
attributes:
default_table_collate: utf8_general_ci
default_table_charset: utf8
use_native_enum: true
我不知道如何访问此数据库,似乎根本无法正常工作。
所以我直接尝试进入我的模板,似乎合乎逻辑,因为我只需要将此数据库放入1个模板,响应一个表单。
$bd_nom_serveur='mysql_host.bdb';
$bd_login='mysql_user';
$bd_mot_de_passe='***';
$bd_nom_bd='mysql_db_name';
$base = mysqli_connect($bd_nom_serveur, $bd_login, $bd_mot_de_passe, $bd_nom_bd);
向我发送警告
Warning: mysqli_connect(): (HY000/2005): Unknown MySQL server host 'mysql_host.bdb' (2) in /srv/d_/www/draft.site.com/apps/frontend/modules/FormContactSlot/templates/sendMailCatalog.php on line 14
我也试过了
$dsn = 'mysql:dbname=mysql_db_name;host=mysql_host.bdb';
$user = 'mysql_user';
$password = '***';
$dbh = new PDO($dsn, $user, $password);
$conn = Doctrine_Manager::connection($dbh);
发送错误
500 | Internal Server Error | PDOException SQLSTATE[HY000] [2005]
Unknown MySQL server host 'mysql_host.bdb' (2)
我尝试使用和不使用 .bdb,但没有任何变化。
我不知道如何从 symfony 1.4
访问这个数据库
谁能帮帮我!
请记住,我对 Symfony 知之甚少,请保持温和!
编辑:
我还尝试了另一个技巧。
我在 config/databases.yml
上的主要数据库之后添加数据库
all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: mysql:host=localhost;dbname=my_db_name
username: my_username
password: ***
charset: utf8
encoding: utf8
attributes:
default_table_collate: utf8_general_ci
default_table_charset: utf8
use_native_enum: true
client:
class: sfDoctrineDatabase
param:
dsn: mysql:host=host.bdb;dbname=dbname
username: user
password: ***
charset: utf8
encoding: utf8
attributes:
default_table_collate: utf8_general_ci
default_table_charset: utf8
use_native_enum: true
这次我每次尝试访问我的网站时都会遇到错误。我也执行命令 symfony doctrine:build-schema
但这向我发送了相同的错误 unknown mysql server...
我需要帮助,我必须从 symfony 访问我的 mysql 数据库,我别无选择。
我回复自己是因为我找到了解决办法:
没有解决方案。
我使用的是共享 OVH 解决方案,共享 OVH 数据库不可远程访问。所以我必须采取vps解决方案,其中有数据库的IP主机。
感谢 Marek 帮助我找到解决方案。
这是有效的查询。
$bd_nom_serveur='IP host';
$bd_login='mysql_user';
$bd_mot_de_passe='***';
$bd_nom_bd='mysql_db_name';
$base = mysqli_connect($bd_nom_serveur, $bd_login, $bd_mot_de_passe, $bd_nom_bd);
PDO 仍然无法正常工作。
首先大家好!
我在 Symfony 1.4 网站上,我对这个框架并不了解。
站点已经使用了 2 个数据库连接,在 databases.yml
all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: mysql:host=localhost;dbname=my_db_name
username: my_username
password: ***
charset: utf8
encoding: utf8
attributes:
default_table_collate: utf8_general_ci
default_table_charset: utf8
use_native_enum: true
# Base de test
test:
doctrine:
class: sfDoctrineDatabase
param:
dsn: mysql:host=localhost;dbname=my_other_db_name
username: my_username
password: ***
charset: utf8
encoding: utf8
attributes:
default_table_collate: utf8_general_ci
default_table_charset: utf8
use_native_enum: true
我认为它在工作,我从不使用基础测试,但我想它在工作。 我需要使用另一个数据库,这次不是在 localhost 中,而是来自另一个服务器。 我尝试了很多东西,我从 Whosebug post.
中学到了东西我在我的模块中创建了一个配置文件夹,我将代码放入新的 databases.yml
all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: mysql:host=mysql_host.bdb;dbname=mysql_db_name
username: mysql_username
password: ***
charset: utf8
encoding: utf8
attributes:
default_table_collate: utf8_general_ci
default_table_charset: utf8
use_native_enum: true
我不知道如何访问此数据库,似乎根本无法正常工作。 所以我直接尝试进入我的模板,似乎合乎逻辑,因为我只需要将此数据库放入1个模板,响应一个表单。
$bd_nom_serveur='mysql_host.bdb';
$bd_login='mysql_user';
$bd_mot_de_passe='***';
$bd_nom_bd='mysql_db_name';
$base = mysqli_connect($bd_nom_serveur, $bd_login, $bd_mot_de_passe, $bd_nom_bd);
向我发送警告
Warning: mysqli_connect(): (HY000/2005): Unknown MySQL server host 'mysql_host.bdb' (2) in /srv/d_/www/draft.site.com/apps/frontend/modules/FormContactSlot/templates/sendMailCatalog.php on line 14
我也试过了
$dsn = 'mysql:dbname=mysql_db_name;host=mysql_host.bdb';
$user = 'mysql_user';
$password = '***';
$dbh = new PDO($dsn, $user, $password);
$conn = Doctrine_Manager::connection($dbh);
发送错误
500 | Internal Server Error | PDOException SQLSTATE[HY000] [2005] Unknown MySQL server host 'mysql_host.bdb' (2)
我尝试使用和不使用 .bdb,但没有任何变化。 我不知道如何从 symfony 1.4
访问这个数据库谁能帮帮我! 请记住,我对 Symfony 知之甚少,请保持温和!
编辑:
我还尝试了另一个技巧。 我在 config/databases.yml
上的主要数据库之后添加数据库all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: mysql:host=localhost;dbname=my_db_name
username: my_username
password: ***
charset: utf8
encoding: utf8
attributes:
default_table_collate: utf8_general_ci
default_table_charset: utf8
use_native_enum: true
client:
class: sfDoctrineDatabase
param:
dsn: mysql:host=host.bdb;dbname=dbname
username: user
password: ***
charset: utf8
encoding: utf8
attributes:
default_table_collate: utf8_general_ci
default_table_charset: utf8
use_native_enum: true
这次我每次尝试访问我的网站时都会遇到错误。我也执行命令 symfony doctrine:build-schema
但这向我发送了相同的错误 unknown mysql server...
我需要帮助,我必须从 symfony 访问我的 mysql 数据库,我别无选择。
我回复自己是因为我找到了解决办法:
没有解决方案。
我使用的是共享 OVH 解决方案,共享 OVH 数据库不可远程访问。所以我必须采取vps解决方案,其中有数据库的IP主机。
感谢 Marek 帮助我找到解决方案。 这是有效的查询。
$bd_nom_serveur='IP host';
$bd_login='mysql_user';
$bd_mot_de_passe='***';
$bd_nom_bd='mysql_db_name';
$base = mysqli_connect($bd_nom_serveur, $bd_login, $bd_mot_de_passe, $bd_nom_bd);
PDO 仍然无法正常工作。