ОБЪЯСНЕНИЕ ПРОБЛЕМЫ
Я вижу проблему! Это сообщение об ошибке является ошибкой в коде phpPgAdmin, который, по-видимому, содержит более старый код, написанный до выпуска PHP 7.x.
Ошибка в phpPgAdmin появится, если вы недавно загрузили технологический стек со всеми последними версиями PHP, PostGreSQL и phpPgAdmin. Например... сегодняшние (февраль 2019 г.) последние версии:
- PHP 7.3.1
- PostGreSQL версии 11
- phpPgAdmin 5.6 (12 ноября 2018 г.) ‹= Это не работает с PHP 7.x, но мы хотим, чтобы он работал с ним, и мы можем заставить его работать с ним!
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 ‹ — заменить
function ArrayRecordSet
на function __construct
- class.select.php ‹- Заменить
function XHtmlSimpleElement
на function __construct
- Gui.php ‹ — заменить
function GUI
на function __construct
- Misc.php ‹- Замените
function Misc()
на function __construct
- Plugin.php ‹- Уже есть
function __construct
- PluginManager.php ‹ — уже есть
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!
person
Clomp
schedule
04.02.2019