Postgres createdb从php exec运行

詹尼斯

我有一个可以使用
(sql ddl)创建数据库的安装脚本create database if not exist
由于Postgres的工作方式不同,因此脚本不起作用。
因此,我为Postgres构建了一个特例,并使用
(命令行)createdb -U ...命令生成了数据库。
到目前为止,它仍然有效,但是Postgres第二次请求密码。

此线程之后,我发现
可以使用var PGPASSWORD提供密码。
此线程之后,我想出了一个解决方案:
(php)

exec(' set PGPASSWORD=$password && createdb -U "$username" -h "$host" "$dbname" ')

(简化的转义)

但这会返回错误:
createdb:无法与template1连接:FATAL:用户»postgres«的密码身份验证失败(翻译)

我不熟悉命令行及其特性->
我不确定在此是否犯了严重的错误,我很抱歉

现在,我将实现一个版本,在该版本中Postgres会再次询问用户,
但是如果您找到一种解决方案,无需用户再次输入密码那将是很酷的

劳伦兹·阿尔伯

为什么要使用操作系统命令?您可以使用SQL执行相同的操作:只需连接到postgres数据库(或任何其他数据库)并运行

CREATE DATABASE dbname

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP exec运行文件

来自分类Dev

从php exec()运行bash脚本

来自分类Dev

PHP使用exec运行curl

来自分类Dev

使用exec()从PHP运行PhantomJS

来自分类Dev

从php exec()运行bash脚本

来自分类Dev

使用 PHP exec() 运行 AT 命令

来自分类Dev

php exec()未运行python脚本

来自分类Dev

php exec()未通过cron作业运行

来自分类Dev

使用php exec运行youtube-dl

来自分类Dev

php exec并运行bash脚本直到完成

来自分类Dev

从php shell_exec()运行node js

来自分类Dev

PHP在exec下无法运行curl

来自分类Dev

php exec()未通过cron作业运行

来自分类Dev

php exec文件从终端运行,而不是从浏览器运行

来自分类Dev

Postgres createdb在Ubuntu 14.04中不起作用

来自分类Dev

PHP:使用绑定参数创建并运行 PostGres 过程(BEGIN ... END)

来自分类Dev

PHP无法从shell-exec()函数运行MPI

来自分类Dev

CSS和PHP运行exec并返回原始页面

来自分类Dev

如果由Cron运行,PHP`exec()`不起作用

来自分类Dev

PHP exec()和运行shell脚本会产生不同的结果

来自分类Dev

PHP shel_exec不在后台运行

来自分类Dev

在Windows Server上由PHP exec远程运行MTProxy

来自分类Dev

RGD:运行exec或系统调用时,PHP exeed超时

来自分类Dev

PHP无法从shell-exec()函数运行MPI

来自分类Dev

php-使用shell_exec运行shell命令

来自分类Dev

在PHP中从shell_exec运行sed命令

来自分类Dev

执行SchTasks时,“ exec”命令阻止php脚本的运行

来自分类Dev

在Windows中使用WAMP在后台运行php exec

来自分类Dev

无法在 PHP Exec 中以 root 身份运行 BASH 脚本