gpt4 book ai didi

php - Heroku 本地 : how to install support for Postgres

转载 作者:行者123 更新时间:2023-11-29 13:52:41 25 4
gpt4 key购买 nike

在推送到 heroku 之前,我正在使用 heroku local 尝试在本地使用 PHP 进行开发。

但是,我无法在本地使用 Postgres,因为缺少 PDO 驱动程序:

  • 获取消息为“找不到驱动程序”的“PDOException”错误消息
  • 而且,事实上,phpinfo() 显示未安装 pdo_pgsql

如何在 heroku local 上安装(或启用?)PostgreSQL PDO (pdo_pgsql)?

我在官方文档和网上都找不到任何东西。 (文档似乎缺少 PHP,尤其是关于如何在本地使用 heroku 的文档。)

仅供引用,运行 Mac OS X。


如果需要,这里是我为测试目的而使用的最小示例:

/**
* postgres-helloworld.php
* Runs fine on XAMPP, which has PHP Version 5.5.15 with pdo_pgsql installed.
* But won't run on heroku local, which has PHP Version 5.5.34 WITHOUT pdo_pgsql installed.
* `PDOException`, `could not find driver'`
*/
$dbh = new PDO( "pgsql:dbname=test;host=localhost", 'fabien', NULL );
$res = $dbh->query( 'SELECT name FROM test_table' )->fetchAll( PDO::FETCH_ASSOC );
echo $res[0]['name']; // echoes the content of said table, i.e. `hello database` -- OK

?>

编辑:

我意识到我对 heroku local 所做的整个模型完全不对劲。它只是这样做:

“Heroku Local reads configuration variables from a .env file.” (from https://devcenter.heroku.com/articles/heroku-local)

错误地假设它在本地提供了与 heroku 在云中提供的相同类型的灵 active (即:dev-prod-parity,例如:选择要运行和重现的 PHP 版本的能力本地设置与云中相同),并且它带有自己的二进制文件。

实际上,heroku local 仅依赖系统默认的 PHP 安装和扩展(或缺少)来运行 Web 服务器。

一旦理解,问题就变成了通过在本地系统上安装 pdo_pgsql 来解决它,按照 Shyam Bhimani 的解决方案。

最佳答案

试试这个:

$ ./configure --with-pdo-pgsql

使用--with-pdo-pgsql[=DIR] 安装 PDO PostgreSQL 扩展,其中可选的 [=DIR] 是 PostgreSQL 基本安装目录,或 pg_config 的路径。

更多详情可以关注这两篇文档(1) (2)

关于php - Heroku 本地 : how to install support for Postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38016789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com