2

我是 MAC OS 和 Fuel PHP 的新手,我尝试学习 FuelPHP,它引导我学习了一些教程,你可以在这里找到链接: link

如教程所示,通过命令行在 FuelPHP 中使用迁移:

oil r migrate

它显示了某种奇怪的错误,当我用谷歌搜索时(以及在教程中),有人建议在fuel/app/config/development/db.php 文件中将“localhost”更改为“127.0.0.1”,错误应该消失。

然后它显示另一个错误是:

ERROR - invalid data source name in COREPATH/classes/database/pdo/connection.php on line 87

虽然我已经通过浏览器检查了与数据库的连接,但连接到数据库的所有用户名和密码也是正确的。我仍然不知道是什么问题。请帮助和对不起我的英语,它不是我的母语。

4

2 回答 2

1

我认为您的问题实际上不是数据源名称,而是环境。

您需要正确设置环境,在此页面中有说明:http: //fuelphp.com/docs/general/environments.html

这就是我在我的 debian 中所做的:

env FUEL_ENV=production oil refine migrate:up

我在 Windows 上的开发计算机上做什么:

set FUEL_ENV=development // One time only
oil refine migrate:up

跳它会帮助你。

于 2013-12-12T10:28:42.467 回答
0

转到您的 Fuel/app/bootstrap.php 并检查第 27 - 30 行,它看起来像这样

Fuel::$env = (isset($_SERVER['FUEL_ENV']) ? $_SERVER['FUEL_ENV'] : Fuel::DEVELOPMENT); 

在你的情况下,如果它的 Fuel::DEVELOPMENT 那么你应该(它可能是FUEL::PRODUCTIONFUEL::TESTING

现在根据环境检查文件中的数据库连接配置。燃料/app/config/development/db.php

在该文件中检查 DB 连接会有点像这样,并验证它们是否正确。

return array(
    'default' => array(
        'connection'  => array(
            'dsn'        => 'mysql:host=localhost;dbname=yourdatabasename',
            'username'   => 'yourusername',
            'password'   =>  'yourpassword',
        ),
    ),
);

我认为在您的情况下,环境集和使用的配置不匹配。

希望这可以帮助

于 2013-04-13T01:55:10.220 回答