Php
無法登錄到 phpPgAdmin
我正在嘗試在我的測試機器上設置 phpPgAdmin,以便我可以與 PostgreSQL 互動,而不必總是使用
psql
CLI。我通過 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**中不起作用。**事實上,在我添加之後它拒絕啟動。所以不要這樣做。無論如何,希望這可以幫助遇到我遇到同樣問題的人!