首页 > 解决方案 > PHP pgsql 不从命令行加载

问题描述

我看到了一个类似的问题 "Loads only from the command line"。我有一个不同的问题,在windows OS上。我需要测试与其他 HTTPS 站点有连接的代码的某些部分,并且我假设我的浏览器缓存了一些会导致输出错误的内容。为此,我需要使用 Windows 命令行测试我的 php 脚本——这并不难。但是,pg_fetch_all它会掉落Call to undefined Function pg_fetch_all

但我假设它使用 连接到数据库pg_connect,否则它会事先丢弃错误。

有什么我想念的吗?pg_fetch_all 是否有一些我在阅读时错过的值?或者仅仅是因为它没有加载插件等。


根据要求,我的 SQL 代码。

$station_keys = pg_fetch_all(
   pg_query(
      get_connection(), "SELECT val, val2, val3, val4 FROM table_keys"));

在浏览器上一切正常(也许 apache 正在做),命令行认为这很奇怪。

我的php -m打印出来:

[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
ereg
exif
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
imap
intl
json
ldap
libxml
mbstring
mcrypt
mhash
mysql
mysqli
mysqlnd
odbc
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
tokenizer
wddx
xml
xmlreader
xmlrpc
xmlwriter
xsl
zip
zlib

[Zend Modules]

pdsql丢失,它在 wamp 上启用,当我运行命令行时它不会加载。

标签: phppostgresqlcmd

解决方案


我使用Coladict注释解决了这个问题,pgsql 没有在命令行中加载,因为我使用的是 5.6 版本,从文件中,而不是 wamp,它没有包含在我的php.ini配置文件中,找到了pdsql,未注释并且它有效就像一个魅力,用于php -m查看当前加载了哪些插件,然后php -i查看php.ini文件所在的位置。

我建议 Coladict 把它作为一个答案来回答,这样其他人就会看到它,尽管他没有回应。


推荐阅读