【发布时间】:2015-07-01 11:07:10
【问题描述】:
我试图在我的本地主机上运行一个非常基本的 Laravel 应用程序。
我有一个简单的 postgre 数据库,其中包含 3 个数据行。我可以在razorSQL中查询项目并得到结果,所以DB没问题。
在 phpStorm 中,我使用 php -S localhost:8888 -t public 启动一个 Web 服务器
Web 服务器启动正常。如果我启动应用程序,我会看到 Laravel 主屏幕。
好的,那我把回家路线改成这个。显示“Hello World”。
Route::get('/', function(){
$data = "Hello World";
return $data;
});
但是当我这样做时
Route::get('/', function(){
$data = \DB::table('posts')->get();
return $data;
});
我明白了……
phpStorm 支持 PDO 还是我需要的插件?
更新
Route::get('/', function(){
// $data = \DB::table('posts')->get();
$data = phpinfo();
return $data;
});
php.ini 位置
php.ini
所以在 php.ini 中启用了 PDO。这是我不明白的。是的,我是 PHP 新手。
这是来自phpInfo() 的 PDO 片段 - PS,是的,我确实在更改后重新启动了 wamp。我只是不明白为什么pdo_pgsql 没有出现/工作
它在下拉列表中也很活跃php extensions
【问题讨论】:
-
这个错误与 PhpStorm 有什么关系(除了您使用 PhpStorm 编写代码这一事实)?到目前为止,您似乎还没有在 php.ini 中为 Posgre 启用 PDO 驱动程序/扩展。
-
我在询问 phpStorm,因为这是我启动 Web 服务器的地方。所以 porsgre 中的 php.ini。这个文件在 postgre 文件结构中的什么位置?
-
“我问的是 phpStorm,因为这是我启动 Web 服务器的地方。” 然后呢?此错误是由 PHP 本身生成的,而不是由 PhpStorm 生成的。 “这个文件在 postgre 文件结构中的什么位置?” 你是 PHP 新手吗?如果是,那么就这么说吧。因为 php.ini 是 PHP 的一部分,而不是 Postgre。
-
你是如何得到
phpinfo()输出的?它必须通过与您的实际代码相同的方式完成(这意味着 - 在您的 Laravel 应用程序中调用它),因为您可能有 2 个不同的php.ini用于 CLI 和 Apache(您启动 Laravel 的 Web 服务器的方式是考虑 CLI)