2

我正在尝试设置 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),运行没有问题。

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

4

4 回答 4

3

好的,这花了很长时间才弄清楚,但事实证明它很容易修复:出于某种原因,在 FuelPHP 1.4 中调用了舞台环境的配置目录staging(在以前的版本中是stage)。

我不知道这是否是目录命名错误,或者这是否是一个新名称,并且 FuelPHP 中的某处尚未更新以使用它,但我发现将目录名称更改为“阶段”解决了问题。

于 2013-01-07T16:28:36.553 回答
0

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

要进行调试,请在代码中的某处不工作的地方放置如下内容,以查看 FuelPHP 尝试使用的环境:

<?php

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

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

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

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

于 2013-06-24T13:34:13.600 回答
-1

Apache Web 服务器:SetEnv FUEL_ENV DEVELOPMENT 希望这对某人有所帮助

于 2012-12-21T17:36:29.637 回答
-1

对于这些都不起作用的人,请确保两件事

  1. 有多个 db.php 文件/fuel/app/config/development/db.php。检查@Chad Hutchins 提到的环境并仔细检查用户名和密码是否正确
  2. 确保/var/mysql/mysql.sock存在。就我而言,我正在使用/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock,所以我需要创建一个符号链接。按照此处的说明进行操作

希望对某人有所帮助

于 2013-06-25T02:30:14.490 回答