Ошибки phpMyAdmin при доступе к config.in c. php и blowfish_secret.in c. php - PullRequest
0 голосов
/ 23 марта 2020

Я использую phpMyAdmin 4.6.6deb5 в следующей конфигурации:

  • Ubuntu Server 18.04.3
  • nginx / 1.17.9
  • 7.2.24 -0ubuntu0.18.04.3

phpMyAdmin, кажется, работает, но есть это красное сообщение об ошибке, которое говорит о секрете blowfi sh. Как-то нет способа избавиться от этого. Журнал ошибок содержит следующие записи:

2020/03/22 21:46:30 [error] 26664#26664: *53 FastCGI sent in stderr: "PHP message: phpmyadmin: Failed to load /var/lib/phpmyadmin/blowfish_secret.inc.php Check group www-data has read access and open_basedir restrictions.
PHP message: phpmyadmin: Failed to load /var/lib/phpmyadmin/config.inc.php Check group www-data has read access and open_basedir restrictions" while reading response header from upstream, client: 87.147.18.48, server: ***, request: "GET /phpmyadmin/js/get_image.js.php?theme=pmahomme&v=4.6.6deb5 HTTP/2.0", upstream: "fastcgi://unix:/run/php/php7.2-fpm.sock:", host: "***

И папка, и файлы назначены на www-data. Я также назначил следующие разрешения:

# chmod 755 /var/lib/phpmyadmin
# chmod 664 /var/lib/phpmyadmin/blowfish_secret.inc.php 
# chmod 664 /var/lib/phpmyadmin/config.inc.php 

Не работает ...

Мне кажется странным тот факт, что config.in c. php пуст, а blowfish_seceret.in c. php выглядит следующим образом. :

<?php
$cfg['blowfish_secret'] = 'j(<purKyJl>5D]yzlPoKFLNfH9es6.-T';

Кажется, что оба файла повреждены. Кто-нибудь может сказать мне, где я могу найти нужные файлы? Я знаю, что в разных папках есть несколько файлов config.in c. php, некоторые из них включают строку для blowfish_secret, но я не знаю, какой из них подходит для копирования в / var / lib / phpmyadmin.

Я обнаружил похожие проблемы при поиске на stackoverflow и других форумах, но ни одно из предложенных решений не помогло мне.

Заранее спасибо

Лучше всего С уважением, Борис

1 Ответ

0 голосов
/ 06 апреля 2020

В вашей настройке есть несколько странных вещей, одна из которых заключается в том, что менеджеры пакетов обычно помещают файлы конфигурации в etc/phpmyadmin, а не /var/lib/phpmyadmin. Кроме того, версия 4.6.6 довольно старая.

Если вы хотите продолжить устранение неполадок в существующей установке, я предлагаю вам начать поиск наличия каких-либо ограничений open _basedir. Посмотрите на вывод phpinfo ().

Создайте новый текстовый файл в каталоге вашего веб-сервера root. Вы можете называть это как хотите, например phpinfo.php. Текстовый файл должен содержать

<?php
phpinfo();

Загрузите его в свой браузер и найдите в выводе open_basedir. Это покажет, что вы настроили, а также в верхней части есть раздел, который скажет вам, какие файлы конфигурации читаются, так что вы можете начать угадывать, где это исправить, если есть неправильная конфигурация.

Обновление

Если ваши версии PHP и MySQL будут поддерживать его (а PHP 7.2 будет, так что вы, вероятно, в порядке), я предлагаю установить последнюю версию из phpMyAdmin PPA. Сначала вы должны удалить все, что вы можете, в своей локальной системе из существующего пакета phpMyAdmin, включая папки /var/lib/phpmyadmin и /etc/phpmyadmin (обычно применяется отказ от ответственности при создании резервной копии, даже если это не должно быть разрушительным). Вы можете sh сохранить файл конфигурации config.inc.php, если вы выполнили настройки, которые хотите сохранить.

Эти должны быть совместимы и обновлены.

Easy automati c install

Возможно, вам нужно всего две строки для добавления PPA, тогда вы можете искать 'phpmyadmin' с помощью вашего любимого инструмента управления пакетами, такого как aptitude:

sudo add-apt-repository ppa:phpmyadmin/ppa
sudo apt-get update

Ручная установка

Если в вашей системе нет apt-repository или что-то еще идет не так, есть инструкции там, которые в основном таковы:

Вы, вероятно, должны добавить PPA как apt source, который вы можете сделать с помощью

sudo echo "deb http://ppa.launchpad.net/phpmyadmin/ppa/ubuntu bionic main" > /etc/apt/sources.list.d/phpmyadmin.list

Попробуйте обновить apt: apt-get update. Вероятно, вы получите ошибку ключа, которую мы ожидаем, потому что у вас еще нет подходящего ключа для проверки загрузок. Когда вы получаете сообщение об ошибке, запишите идентификатор ключа.

Извлеките ключ: apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 2EA3055293CB3F45 (на данный момент это ключ, который мне нужен, но он может измениться, поэтому лучше скопировать и вставить его из сообщения об ошибке и замените его в этой команде).

Наконец, вы можете снова обновить список пакетов с помощью apt-get update, а затем установить пакет phpmyadmin с вашим любимым apt-flavored tool.

...