FuelPHP“无效的数据源名称”错误

时间:2012-12-21 17:23:35

标签: php mysql pdo fuelphp

我正在尝试设置FuelPHP应用程序,但我遇到了一个令人费解的问题。每次应用程序尝试连接到数据库时,都会出现以下错误:

Fuel\Core\Database_Exception [ Error ]: invalid data source name

我在Apache的VirtalHost配置中将FUEL_ENV设置为“stage”,fuel/app/config/staging/db.php中的数据库凭据似乎是正确的:我可以使用相同的用户名和密码登录PhpMyAdmin。我很难过要尝试什么 - 任何建议都会非常感激。

如果它有帮助,我在运行Ubuntu 12.04 LTS的Amazon EC2实例上使用FuelPHP 1.4,我通过apt-get安装了MySQL和PHP。我有另一个应用程序(在另一个实例上)运行旧版本的FuelPHP(1.2.1),运行没有任何问题。

顺便提一下,这个问题可能与this one密切相关,但我将其视为一个单独的问题,因为我遇到的问题不仅限于命令行。

4 个答案:

答案 0 :(得分:3)

好的,这已经花了很长时间才能找到底层,但结果很简单:出于某种原因,在FuelPHP 1.4中,舞台环境的配置目录被称为staging(在之前的版本中)版本为stage)。

我不知道这是否是一个目录命名错误,或者这是否是一个新名称和FuelPHP中的某些地方尚未更新使用它,但我发现将目录的名称更改为'stage'修复了问题

答案 1 :(得分:0)

使用FuelPHP的石油实用程序运行单元测试时遇到了同样的问题。如果您遇到此问题,则很可能是配置问题。

要进行调试,代码中某处不起作用,请按以下方式查看FuelPHP尝试使用的环境:

<?php

echo "env: " . Fuel::$env; 
exit;

就我而言,它表明它正在尝试使用“测试”环境。由于我的app配置文件夹中没有'test'文件夹,因此失败了。

在大多数版本的FuelPHP中,您的.htaccess文件中的Fuel :: $ env设置将适用于所有版本的FuelPHP。但是在旧版本中,您可能会遇到此问题。

您可以编辑bootstrap.php文件并手动设置FuelPHP环境,也可以设置它尝试使用的环境。

答案 2 :(得分:0)

对于那些没有工作的人来说,确保两件事

  1. 有多个db.php文件/fuel/app/config/development/db.php。检查环境为@Chad Hutchins提到并仔细检查用户名和密码是否正确
  2. 确保/var/mysql/mysql.sock存在。在我的情况下,我使用/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock所以我需要创建一个符号链接。 Followed the instructions here
  3. 希望能帮到某人

答案 3 :(得分:-1)

Apache Web服务器:SetEnv FUEL_ENV开发希望这有助于某人