phpPgAdmin 常见错误和问题的解决办法

一、安装错误
Q: 我已经安装了 phpPgAdmin ,但是当我企图使用它的时候,
   我得到一个错误说我安装的 PHP 没有正确的编译数据库支持。

A: 这个信息的意思是你的 PHP 没有将 PostgreSQL 支持编译进去。正确的配置选项是 '--with-pgsql' 。
   请仔细阅读 PHP 手册以获得关于如何编译 PHP 的更详细的信息。

PostgreSQL 支持可以编译为 PHP 的动态扩展模块,
   因此如果你使用的是一个预编译版本的 PHP (Linux下的RPM包或Windows下的二进制文件之类),
   也许你只需要做一件事就可以了:

编辑 php.ini 文件并取消如下两行的注释:
   (Windows下通常位于 C:\WINDOWS 或 C:\WINNT 目录,Linux 下通常位于 /etc/php.ini)

;extension=php_pgsql.dll ;Windows
 ;extension=pgsql.so  ;Linux

使它变成:

extension=php_pgsql.dll  ;Windows
 extension=pgsql.so  ;Linux

在基于 Red Hat 或 Fedora 的 Linux 发行版上,
   该 PHP 扩展已经自动的在 /etc/php.d/pgsql.ini 文件中进行了配置,
   只要安装 php-pgsql 软件包即可。

Q: 在 Windows 上使用 phpPgAdmin 时,我得到一个如下警告信息:

"Warning: session_start() [function.session-start]:
     open(/tmp\sess_5a401ef1e67fb7a176a95236116fe348, O_RDWR) failed"

A: 你需要修改你的 PHP.INI 文件(通常位于 c:\windows 目录)并将如下行

session.save_path = "/tmp"

修改为

session.save_path = "c:\windows\temp"

并确保 c:\windows\temp 目录确实存在。
二、登陆错误
Q: 我总是得到一个"Login failed",我确定我使用了正确的用户名和密码!

A: 检查一下 PostgreSQL 日志,它会告诉你登陆失败的准确原因。
   编辑 PostgreSQL 的"data"目录下的 pg_hba.conf 文件,
   确保你拥有访问数据库服务器的正确权限。

如果你将 phpPgAdmin 安装在一个不同于 PostgreSQL 服务器所在的机器上,
   另一个可能的原因是 PostgreSQL 在启动时没有启用 TCP/IP sockets 。
   要启用它,可以编辑 postgresql.conf 文件,将如下行

#tcpip_socket = false

修改为

tcpip_socket = true

然后重启 PostgreSQL 。
   [译者注]从 8.0 版本开始,原来的 virtual_host 和 tcpip_socket 配置指令已经被 listen_addresses 代替。
   请参阅 PostgreSQL 获取更多对 listen_addresses 指令的解释。

Q: 有些用户会得到 "Login disallowed for security" 错误信息

A: phpPgAdmin 默认禁止空密码或特定用户(pgsql, postgres, root, administrator)登陆。
   在改变这个默认行为(将 config.inc.php 文件中的 $conf['extra_login_security'] 设置为 false)之前,
   请首先仔细阅读 PostgreSQL 文档中关于客户端认证的部分,
   并充分理解如何修改 PostgreSQL 的 pg_hba.conf 配置文件以启用密码保护本地连接。

Q: 我可以使用任意密码登陆!

A: PostgreSQL 默认运行于"信任模式"。意思是对于本地连接不检查密码。
   我们强烈建议你修改 pg_hba.conf 文件,并将登陆类型改为 'md5'。
   注意,一旦你将'local'登陆类型修改为'md5',你就可能需要在启动 PostgreSQL 的时候输入密码。
   要避开它,可以使用一个 .pgpass 文件,相关说明请参考 PostgreSQL 文档 libpq 部分。
三、其它错误
Q: 当我通过表单向数据库输入非ASCII数据时,它被当着十六进制数或 Ӓ 格式插入。

A: 你没有使用正确的编码创建数据库。
   这个问题会出现在你企图向一个 SQL_ASCII 数据库输入元音变音(umlaut),
   或者向 EUC-JP 数据库输入 SJIS 字符的时候。

Q: 当我 drop 并重建一个同名的表的时候,失败了。

A: 最简单的办法是使用 PostgreSQL 7.3 以上的版本。

Q: 当我浏览一个表的时候,'edit(编辑)'和'delete(删除)'链接并没有显示出来。

A: phpPgAdmin 将按顺序使用如下值作为行唯一标识符

1. 主键
 2. 唯一索引(不能是部分索引或表达式索引)
 3. OID 列(需要连续扫描以进行更新,除非你在 OID 列上建立了索引)

此外,唯一索引中的任何 NULL 值都会导致那一行不可编辑。同样,因为在同一张表中 OID 可能会重复,
   phpPgAdmin 将会在改变那一行以后进行确认修改的是否确实是那一行,否则将进行回滚。
四、转储相关
Q: 如何启用数据库转储功能?

A: 你需要配置 config.inc.php 文件,以指定 pg_dump 和 pg_dumpall 的位置。
   这样数据库导出功能将会显示出来。

Q: 我想在 Windows 上使用 pg_dump ,我应当到哪里下载 pg_dump.exe ?

A: 你需要安装 PostgreSQL 8.0 for Windows 或更高的版本。
   可以到 http://www.postgresql.org/ftp/win32/ 去下载。
   安装好以后可以在 config.inc.php 中设置 pg_dump 和 pg_dumpall 的位置。

Q: 为什么我不能在 SQL 窗口重新加载转储出来的 SQL 脚本?

A: 在执行 SQL 脚本时有如下限制:

* 只有上传的 SQL 脚本可以包含 COPY 命令,并且必须使用 PHP 4.2 以上版本。

* 'psql' 命令,比如 '\connect' 根本不会工作。

* 多行 SQL 语句同样不会工作,比如:

CREATE TABLE example (
   a INTEGER
  );

* 在执行脚本的过程中不能切换数据库和用户。

我们打算在将来的版本中减少这些限制,但是对于 PostgreSQL 本身的限制无能为力,
   因此我们推荐你使用'psql'工具来恢复完整的 SQL 转储结果。

五、其它问题

Q: 当插入行的时候,'Value(值)' 或 'Expression(表达式)' 选框是什么意思?

A: 选择'Expression'表示你可以使用函数、运算符、字段名等等,
   同时你需要正确的使用引号界定字符串值。
   选择'Value'则表示无论你输入的内容是什么,都将按原样插入数据库中。

Q: 为什么表的'Info(信息)'页始终不显示任何信息?

A: 'Info'页用于显示其它表到这个表的外键以及来自 PostgreSQL 的统计信息。
   而状态统计程序默认状态下并未启用。要启用它请查看 postgresql.conf 文件中的 stats_* 选项。
   将这些选项全部设为'true'并重启 PostgreSQL 即可。

Q: 为什么我不能下载 SQL 窗口中执行的查询的结果数据?

A: 你需要选中 'Paginate results' 选项以允许下载。

Q: 我想帮助 phpPgAdmin 的开发,我应当怎么做?

A: 我们非常愿意得到你的帮助!请阅读 DEVELOPERS 和 TRANSLATORS 文件。

(0)

相关推荐

  • php源代码安装常见错误与解决办法分享

    错误:configure: error: libevent >= 1.4.11 could not be found 解决:yum -y install libevent libevent-devel 错误:configure: error: Please reinstall the mysql distributio 解决:yum -y install mysql-devel 错误:make: *** [sapi/fpm/php-fpm] error 1 解决:用make ZEND_EXTRA

  • php编译安装常见错误大全和解决方法

    在CentOS编译PHP5的时候有时会遇到以下的一些错误信息,基本上都可以通过yum安装相应的库来解决.以下是具体的一些解决办法: 复制代码 代码如下: checking for BZip2 support- yes checking for BZip2 in default path- not found configure: error: Please reinstall the BZip2 distribution 解决方法:yum install bzip2-devel 复制代码 代码如

  • php curl常见错误:SSL错误、bool(false)

    症状:php curl调用https出错 排查方法:在命令行中使用curl调用试试. 原因:服务器所在机房无法验证SSL证书. 解决办法:跳过SSL证书检查. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 症状:php curl调用curl_exec返回bool(false),命令行curl调用正常. 排查方法: var_dump(curl_error($ch)); 返回: string(23) "Empty reply from server

  • 浅析PHP编程中10个最常见的错误

    目前学习PHP很多朋友,在平时的日常程序开发工程中总会遇到各种各样的问题,本篇经验将为大家介绍PHP开发中10个最常见的问题,希望能够对朋友有所帮助. 错误1:foreach循环后留下悬挂指针 在foreach循环中,如果我们需要更改迭代的元素或是为了提高效率,运用引用是一个好办法: $arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * 2; } // $arr is now array(2, 4, 6,

  • phpPgAdmin 常见错误和问题的解决办法

    一.安装错误Q: 我已经安装了 phpPgAdmin ,但是当我企图使用它的时候,   我得到一个错误说我安装的 PHP 没有正确的编译数据库支持. A: 这个信息的意思是你的 PHP 没有将 PostgreSQL 支持编译进去.正确的配置选项是 '--with-pgsql' .   请仔细阅读 PHP 手册以获得关于如何编译 PHP 的更详细的信息. PostgreSQL 支持可以编译为 PHP 的动态扩展模块,   因此如果你使用的是一个预编译版本的 PHP (Linux下的RPM包或Win

  • WEB前端常见受攻击方式及解决办法总结

    一个网站建立以后,如果不注意安全方面的问题,很容易被人攻击,下面就讨论一下几种漏洞情况和防止攻击的办法. 一.SQL注入 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句.比如先前的很多影视网站泄露VIP会员密码

  • MySQL忘记root密码错误号码1045的解决办法

    停止MySQL服务 Windows可以右键我的电脑--管理--服务和应用程序--服务--找到对应的服务停止掉 免密登录 切换到MySQL安装路径下:D:\mysql-5.7.24-winx64\bin:如果已经配了环境变量,则不用再安装目录 打开CMD命令窗口,在命令行输入:mysqld -nt --skip-grant-table 8.0以上数据库输入:mysqld --console --skip-grant-tables --shared-memory 进入数据库 以管理员身份重新启动一个

  • javascript 常见的闭包问题的解决办法

    0 1 2 3 4 5 6 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 上段代码本意是在每个div上都加一个事件,即每当点击div时,就显示此div的相应序号.但是运行程序时我们会发现,不论点击那个,只会显示7,这是什么愿因呢.--这就是闭包的问题 原来 在js中,函数中在定义函数,就出现闭包了.此时外层函数中变量是可以在里层函数里利用的,即使外层函数结束.但是当外层中出现循环的时候,如果在里层函数中利用这个循环变量的话,会直接引用这个变量的最终值. 就像上述代码演示的一样. 如

  • 出现“不能执行已释放的Script代码”错误的原因及解决办法

    很多web开发者或许都遇到过这样的问题,程序莫名奇怪出现"不能执行已释放Script的代码",错误行1,列1.对于这种消息描述不着边,行列描述更是乱写的js错误,相信是所有调试js程序的朋友们最郁闷也最憎恨的事情!遇到这种问题,最简单的办法直接把错误贴到baidu或google那个小输入框中让他们先给点指点,再去解决,可这次却没有这么容易,在baidu搜索似乎很多人都遇到过这种问题,但是都是些什么qq空间错误,狂晕,或者就是只有问没有答的,闷! 这种错误从何调起?后面没办法,又是猜测又

  • McAfee 1920错误 启动失败的解决办法

    服务器时间不正确导致mcafee启动服务出现错误1920 昨天帮一朋友配置服务器,安装mcafee杀毒软件到最后一步时却提示1920错误,这是使用mcafee以来第一次遇到这种错误,在网上搜索解决方案,似乎无效,意外的发现服务器时间不正确,正确的日期为2007年,而服务器上的日期为2000年,因为使用mcafee8.5i 首次安装的病毒库日期是2006-11,所以启动服务时才会提示错误1920,更改成正确的时间,然后再重新安装一次MCAFEE,就正常启动了 我不知道网上那么多人遇到这种错误是什么

  • “不能执行已释放的Script代码”错误的原因及解决办法

    很多web开发者或许都遇到过这样的问题,程序莫名奇怪出现"不能执行已释放Script的代码",错误行1,列1.对于这种消息描述不着边,行列描述更是让人迷茫的js错误,相信是所有调试js程序的朋友们最郁闷也最憎恨的事情!遇到这种问题,最简单的办法直接把错误贴到baidu或google那个小输入框中让他们先给点指点,再去解决,可这次却没有这么容易,在baidu搜索似乎很多人都遇到过这种问题,但是都是些什么qq空间错误,狂晕,或者就是只有问没有答的,闷! 这种错误从何调起?后面没办法,又是猜

  • MySQL8.0+版本1045错误的问题及解决办法

    目录 一.管理员权限打开CMD 二.CD到自己的MySQL安装目录 三.停止MySQL服务 四.键入命令行 五.重新打开CMD窗口 六.登录MySQL数据库 七.密码改为空密码 八.刷新数据 九.退出数据库 十.启动MySQL服务 十一.命令行正常登录MySQL 使用命令行登录MySQL报错1045 Access denied for user ‘root’@‘localhost’ (using password:YES),折腾半天才解决问题. 一.管理员权限打开CMD 二.CD到自己的MySQ

  • Python编写的com组件发生R6034错误的原因与解决办法

    解决该问题的方法可以为调用本程序的exe文件建立一个合适的manifest文件,指定正确的msvcr90.dll版本即可,具体可参照http://www.jb51.net/article/35219.htm ps:可以使用mt.exe进行导出或合并manifest资源到exe或者dll文件. 查看manifest的方法:mt -inputresource:pythoncom27.dll;#2 -out:sss.txt 合并manifest到dll的方法: mt.exe –manifest MyA

  • nginx FastCGI错误Primary script unknown解决办法

    在centos上成功编译安装nginx 1.4.php 5.4并成功启动nginx和php-fpm后,访问php提示"File not found.",同时在错误日志中看到: 复制代码 代码如下: 2013/10/22 20:05:49 [error] 12691#0: *6 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, cl

随机推荐