Phppgadmin, объектов не найдено - PullRequest
0 голосов
/ 27 сентября 2018

Я пытаюсь вывести свою локальную базу данных в phpPgAdmin, но там написано, что объект не найден phppgadmin GUI

Я уже настроил conf / config.inc

$conf['servers'][0]['desc'] = 'PostgreSQL'
$conf['servers'][0]['host'] = 'localhost';
$conf['servers'][0]['port'] = 5432;
$conf['owned_only'] = false;

Любая помощь, пожалуйста, я пытался с Postgresql версии 9.2,9.5,10.3 (не поддерживается phppgadmin?)

1 Ответ

0 голосов
/ 04 февраля 2019

ОБЪЯСНЕНИЕ ПРОБЛЕМЫ

Я вижу проблему!Это сообщение об ошибке является ошибкой в ​​коде phpPgAdmin, который, по-видимому, содержит более старый код, который был написан за до PHP 7.x.

Ошибка в phpPgAdmin появится, если вы недавноскачал технологический стек со всеми последними версиями PHP, PostGreSQL и phpPgAdmin.Например ... сегодняшние (февраль 2019 г.) последние версии:

  • PHP 7.3.1
  • PostGreSQL версии 11
  • phpPgAdmin 5.6 (12 ноября,2018) <= Это не работает с PHP 7.x, но мы хотим, чтобы он работал с ним, и мы можем заставить его работать с ним! </li>

PHP.net объясняет проблему на странице Конструкторы и деструкторы :

Предупреждение. Конструкторы старого стиля УСТАРЕЛИ в PHP 7.0 и будут удалены в следующей версии.Вы всегда должны использовать __construct () в новом коде.

Их пример в этом разделе на этой странице:

Пример # 2 Конструкторы в классах пространства имен

<?php
namespace Foo;
class Bar {
    public function Bar() { <- This is an older style of creating a constructor.
        For PHP 7.x, it should be changed to "__construct" instead of "Bar".
        // treated as constructor in PHP 5.3.0-5.3.2
        // treated as regular method as of PHP 5.3.3
    }
}
?>

Теперь, когда мы знаем, в чем заключается проблема, вот как ее решить.

РЕШЕНИЕ

Посмотритев вашей папке /phpPgAdmin/ на вашем веб-сервере.Вы должны найти следующие файлы в подпапке /classes/:

  • ArrayRecordSet.php <- Заменить <code>function ArrayRecordSet на function __construct
  • class.select.php <-Заменить <code>function XHtmlSimpleElement на function __construct
  • Gui.php <- Заменить <code>function GUI на function __construct
  • Misc.php <- Заменить <code>function Misc() на function __construct
  • Plugin.php <- уже имеет <code>function __construct
  • PluginManager.php <- уже имеет <code>function __construct

Отредактируйте эти файлы и измените любое из имен конструкторов - которые появляютсякак повторяющиеся имена классов - до __construct.

Когда вы сохраните эти файлы и перезагрузите phpPgAdmin в своем браузере, вы увидите, что сообщение «Объекты не найдены» исчезнет.Затем он отобразит имя сервера.

Вуаля!Последняя версия phpPgAdmin 5.6 работает с последней версией PHP 7.3.1 и последней версией PostGreSQL 11!

Если вы хотите проверить содержимое XML этого левого дерева, просто добавьте это кваш сайт, так как это остальная часть URL, который он использует: /phppgadmin/servers.php?action=tree.Это поможет упростить отладку кода phpPgAdmin.

Вы также можете удалить параметр строки запроса action=tree.Или найдите его в коде phpMyAdmin.

ОТЧЕТ ОБ ОШИБКАХ

Я посмотрю о том, как отправить сообщение об ошибке phpPgAdmin в ссылкуна эту страницу.Надеюсь, кто-то исправит эту ошибку в кодовой базе phpPgAdmin.

Получайте удовольствие, используя последнюю версию phpPgAdmin, PHP & PostGreSQL!

...