Php

庫存安裝的 Moodle 似乎無法在 CentOS 或 RHEL 6.3 上執行

  • January 10, 2013

我有一個乾淨的 CentOS 實例和一個乾淨的 RHEL 6.3 實例——我已經嘗試在兩者上安裝 Moodle。

Error: Database connection failed

It is possible that the database is overloaded or otherwise not running properly.

The site administrator should also check that the database details have been correctly specified in config.php

數據庫確實有效 - 我已經從盒子上的外殼中嘗試過它。我嘗試過使用遠端數據庫和本地數據庫。

我試圖刪除 config.php 並清除數據庫,並允許穆德爾創建執行它的全新安裝腳本,但我又遇到了同樣的問題。

奇怪的是,我有執行 Moodle 實例的 RHEL 5.x 和 6.x 機器,但我在安裝它們時從來沒有遇到過問題,所以我從來沒有真正仔細地查看過堆棧。讓我擔心的是,這些故障發生在我的新系統映像上 - 在過去幾週內已更新到 repo 中最新可用軟體包的系統。

有沒有其他人遇到過類似的問題?

我確實有完全相同的問題;請注意,這是我第一次使用 postgres 安裝 moodle。問題顯然是 php 和 pgsql 的互操作性問題之一,從 http 錯誤日誌中可以看出:(我已將“localhost”替換為“127.0.0.1”)

PHP 警告:pg_connect():無法連接到 PostgreSQL 伺服器:無法連接到伺服器:權限被拒絕\n\t伺服器是否在主機“127.0.0.1”上執行並接受\n\t埠 5432 上的 TCP/IP 連接?在 /var/www/html/moodle/lib/dml/pgsql_native_moodle_database.php 第 163 行

查看 pg 日誌,我注意到沒有連接通過。我已經關閉了防火牆,所以也不是這樣。

我最後想到了 selinux——這通常是問題所在。一點點Google搜尋表明

setsebool -P httpd_can_network_connect 1

解決了這個問題。

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