Установка phpmyadmin на web-приложение, работающее на nginx
mau.market
count
phpmyadmin
Установка phpmyadmin на web-приложение, работающее на nginx
Вариант 1 - более правильный
Настроил на 10.33.0.53
Пример тут: https://maumarket.gkomega.ru/dbexplorer/
Файл настройки на БД:
/var/www/maumarket/app/.env
Ставим пакет phpmyadmin и на этапе выбора автоконфигурации БД, ничего не выбираем!
В файл виртуалхоста надо добавить дополнительный location
location /dbexplorer {
alias /usr/share/phpmyadmin/;
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
fastcgi_ignore_client_abort off;
}
}
Подробнее здесь: https://eternalhost.net/base/vps-vds/nginx-ustanovka-phpmyadmin-debian
Вариант 2 - установка на параллельный web-сервер apache
Для начала ставим apache2, libapache2-mod-php на нестандартный порт - 81.
Чтобы заработало, надо в файле /etc/phpmyadmin/phpmyadmin.service заменить порт 80\-\>81
Ошибка в phpmyadmin: count(): Parameter must be an array or an object that implements Countable
Такая ошибка появилась после установки phpMyAdmin на https://maumarket.gkomega.ru/
Ошибка
Warning in ./libraries/sql.lib.php#601
count(): Parameter must be an array or an object that implements Countable
Решение - смена версии на более новую 4.9.7 или 5.0.4
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.7/phpMyAdmin-4.9.7-all-languages.tar.gz
Затем, в приложении maumarket надо еще слинковать каталог.
ln -s /usr/share/phpmyadmin /var/www/catalog/web-build/dbexplorer
Раннее нашел такое решение - которое не помогло.
Исправление 1.
Открываем: “/usr/share/phpmyadmin/libraries/sql.lib.php”, находим 613 строку:
|| count\($analyzed\_sql\_results\['select\_expr'\] == 1
И меняем ее на:
|| \(count\($analyzed\_sql\_results\['select\_expr'\] == 1))
Исправление 2.
в строке 551
“/usr/share/phpmyadmin/libraries/plugin_interface.lib.php”
Заменяем
if $options \!= null && count\($options > 0) {
на
if $options \!= null && count\(\(array $options) > 0) {
systemctl reload nginx apache2
Готово.