Php

無法登錄到 phpPgAdmin

  • July 24, 2019

我正在嘗試在我的測試機器上設置 phpPgAdmin,以便我可以與 PostgreSQL 互動,而不必總是使用psqlCLI。我通過 RPM 儲存庫安裝了 PostgreSQL 9.1,而我“手動”安裝了 phpPgAdmin 5.0.4(通過從 phpPgAdmin 網站提取存檔)。作為記錄,我的主機作業系統是 CentOS 6.2。

我已經進行了以下配置更改:

PostgreSQL

  • 在裡面pg_hba.conf,我把所有METHOD的s都改成了md5。
  • 我給了 postgres 帳戶一個密碼
  • 我添加了一個名為 webuser 並帶有密碼的新帳戶(請注意,我沒有對該帳戶進行任何其他操作,因此我不能確切地說我知道它擁有什麼權限以及所有權限)

phpPgAdmin config.inc.php

  • 將行更改$conf['servers'][0]['host'] = '';$conf['servers'][0]['host'] = '127.0.0.1';(我也嘗試使用 localhost 作為那裡的值)。
  • 設置$conf['extra_login_security']false

每當我嘗試登錄到 phpPgAdmin 時,我都會收到“登錄失敗”,即使我使用了成功的憑據(適用於 的憑據psql)。我已嘗試完成常見問題解答中問題 3 中提到的一些步驟,但到目前為止效果不佳。這是我使用 PostgreSQL 的第一天,這可能無濟於事。我對 MySQL 非常熟悉,但我必須將 PostgreSQL 用於我正在從事的項目。

誰能提供一些關於如何在 CentOS 6.2 上設置 phpPgAdmin 的幫助?如果到目前為止我在我的配置中做了一些非常錯誤的事情,那麼將某些東西/所有東西吹走也沒什麼大不了的,因為我還沒有在那裡儲存任何數據!

感謝您的任何見解!

好吧,我想通了——這是對 PostgreSQL 的缺乏經驗和來自 phpPgAdmin 的非描述性錯誤的結合。

原來我沒有啟用 TCP/IP 訪問,這意味著沒有 PHP 應用程序可以訪問數據庫。為了解決這個問題,我不得不做出兩個改變:

  • listen_addresses如果我設置為'*'in似乎效果更好postgresql.conf。我不確定這是否完全有必要,但是在像這樣的防火牆良好的機器上,這應該不是問題。
  • 我必須setsebool -P httpd_can_network_connect_db 1從終端視窗執行命令才能讓 Apache 真正使用該程序並進行連接。我不記得在這一步之後是否必須重新啟動 PostgreSQL,但它可能不會受到傷害。

最後一點:我看到一些建議更改tcpip_socket=true. postgresql.conf這顯然在 PostgreSQL 9.1**中不起作用。**事實上,在我添加之後它拒絕啟動。所以不要這樣做。

無論如何,希望這可以幫助遇到我遇到同樣問題的人!

引用自:https://serverfault.com/questions/402127