小编mr *_*ven的帖子

带有 pdo_pgsql 安装问题的 Docker PHP

我对 Docker 非常陌生,并用它进入了我的第一个真正的项目。我们有一个使用 Codeigniter 和 PostgreSQL 的 php 应用程序,它运行良好。现在我正在尝试对它进行 dockerize,但在使用 pdo_pgsql 驱动程序时遇到了一些麻烦。

我在网上找到了一些帮助来安装 pdo_pgsql 驱动程序,但是对于 php-5x 来说,这都是过时的解决方案。我似乎工作,因为我检查了 phpinfo 页面并且我的 php.ini 已正确加载并说 pdo_pgsql 和 pgsql 驱动程序都已安装并处于活动状态???

这是错误:

奇怪的是,当我第一次点击页面时,我只收到第一个错误。然后,如果我刷新页面,则会出现第二个错误。

当我登录到容器中,并cd以它说文件不存在的目录,我可以清楚地看到pdo.sopdo_pgsql.sopgsql.so

遇到错误

您在 config/database.php 文件中指定了无效的数据库连接组 (dockerize)。

遇到 PHP 错误

严重性:核心警告

消息:PHP 启动:无法加载动态库 '/usr/local/lib/php/extensions/no-debug-non-zts-20160303/pgsql' - /usr/local/lib/php/extensions/no-debug- non-zts-20160303/pgsql:无法打开共享对象文件:没有那个文件或目录

文件名:未知

这是Dockerfile

# Dockerfile
FROM php:7.1.12-apache

MAINTAINER Me <me@myself.com>

COPY deploy/config/php.ini /usr/local/etc/php/
COPY target/myapp.tar.gz /var/www/html

RUN apt-get update

# Install Postgre PDO
RUN apt-get install -y libpq-dev …
Run Code Online (Sandbox Code Playgroud)

php postgresql codeigniter docker

7
推荐指数
1
解决办法
6193
查看次数

Google Apps 脚本和 Cloudbuild CI 登录

因此,我非常困难,但非常接近于通过 Googles Cloudbuild 使用 Clasp 推送和部署 Google Apps Script 项目。因此推送和部署命令来自Googles Clasp cli,它要求您使用clasp login. 登录将在您的主目录中创建一个~/.clasprc.json使用您的凭据调用的文件。这是推送和部署所必需的。在中,cloudbuild.yaml我创建了一个替换_CLASPRC来保存这个文件的内容,并在运行构建时使用我自己的自定义图像将它写入容器。

现在对于这个问题,当 push 命令运行时,我收到以下错误,这基本上不是说我没有登录或.clasprc.json. 由于这是我遇到的唯一错误,无论问题是什么,这个问题有点难以调试。

Could not read API credentials. Are you logged in globally?
Run Code Online (Sandbox Code Playgroud)

我曾尝试将 放在.clasprc.json主目录和项目目录中,但两种方式都遇到相同的问题。我很确定该文件正在写入项目目录,因为当我尝试在我的本地运行时没有.clasp.json它抱怨它在抱怨我没有登录之前丢失了。当.clasp.json它在那里时它只抱怨我没有登录在。

该项目只是我的一个个人项目,它在 Github 上都是开源的,所以如果你想参考实际代码,这里是实际项目的链接。我的 Lil Admin和我使用的构建器My Builders。但是,您确实不需要该项目,请按照以下步骤在本地进行重现。

  1. 确保创建了 GCP 项目并启用了启用 Apps Script API的gcloud cli
  2. 有扣 cli npm install -g @google/clasp
  3. clasp login获得.clasprc.json与GCP权威性
  4. clasp create --title "My …

continuous-integration google-apps-script google-cloud-platform clasp google-cloud-build

7
推荐指数
1
解决办法
652
查看次数

时间戳、时区、区域设置和服务器

我的头开始因为时间戳和时区问题而旋转。在我的应用程序中,所有时间戳都保存为 UTC。提交时区单独保存。

环境如下:

  • 操作系统:旧金山 Digital Ocean Droplet 上的 CentOS
  • 应用服务器:Apache Tomcat
  • 后端:Java -> Hibernate -> Spring
  • 数据库:PostgreSQL

我解决的第一个问题是 PostgreSQL 默认时区设置America/Eastern在旧金山的服务器上。所以我改用了 UTC,但这只是问题的一部分,我不能 100% 确定它做了什么。仅供参考,PostgreSQL 中的列是TIMESTAMP WITH TIME ZONE.

测试的本地化日期,即 MST 或 UTC-07:

  • “2016-01-20 13:45:19.894 MST”

所有测试的插入中使用的 UTC 日期:

  • “2016-01-20 20:45:19.894Z”

第一次测试:--------------------------------------------------------

通过快速 SQL 插入,将输入正确的日期。当我查询时,我得到本地化日期,因为我的本地系统将其与 MST 偏移 -7 小时。

查询后日期:

  • “2016-01-20 13:45:19.894”

这确实是我本地插入的时间。

第二次测试:--------------------------------------------------------

这就是奇怪的地方。现在,我使用与 SQL 插入中相同的 UTC 时间戳通过应用程序输入日期。

现在看看我查询时会出现什么结果:

  • “2016-01-20 18:45:19.0”

如果使用原始 SQL 插入,则日期减去 7 小时即可得到本地时间。如果我的本地计算机从原始 UTC 时间戳中减去 7,则应用程序返回的原始 UTC 时间戳将加上 7 小时,得出:

  • “2016-01-21 01:45:19.0”

而不是我放进去的。呵呵。。。?

由于 …

java postgresql time localization timestamp-with-timezone

2
推荐指数
1
解决办法
1835
查看次数