Я установил phpMyAdmin, но не могу открыть его ни в одном браузере: я получаю перенаправление 301 (*), если просматриваю http://localhost:8080/phpmyadmin
. Если я добавлю /
в конец адреса, вместо этого я получу 500 ошибок .
(*) захвачено с помощью Wireshark. Если я использую netcat из терминала на том же хосте, я получаю перенаправление 301 на другой адрес .
Среда - это виртуальная машина, которую я создал для целей разработки / тестирования, где я установил среду LEMP (Linux / Nginx / MySQL / PHP). Это чистая установка CentOS 6 64bit, работающая в качестве гостя на 64-битном хосте Ubuntu 12.04. ВМ работает в режиме NATed с переадресацией портов. Я могу открыть http://localhost:8080
на гостевой машине и увидеть страницу приветствия nginx. Я также могу открыть страницу phpinfo , так что я знаю, что PHP работает.
Я установил пакеты nginx, MySQM, PHP и phpMyAdmin каждый по отдельности. Я использую настройки по умолчанию для phpMyAdmin. После установки MySQL я выполнил mysql_secure_installation
команду и, среди других опций, отключил удаленный root-доступ.
Вот мои файлы конфигурации:
источник
Ответы:
Было несколько причин, мешающих мне войти в phpMyAdmin:
MBstring
Ошибка 500 генерирует сообщение
PHP Fatal error: Call to undefined function mb_detect_encoding() in /usr/share/php/gettext/gettext.inc on line 177
в файле/var/log/php-fpm/www-error.log
. Согласно комментарию на http://www.php.net/manual/en/mbstring.installation.php я пытался установитьphp-mbstring
пакет, но он уже присутствовал.Перезапуск
php-fpm service
решил ошибку 500.php сессии
После устранения предыдущей ошибки я получил следующую ошибку:
/etc/phpmyadmin/config.inc.php
была линияно
session.save_path
переменная PHP установлена в несуществующую/var/lib/php/session
папку.Создание папки с надлежащими разрешениями решило эту ошибку, я могу правильно войти в систему.
перенаправление косой черты
Если я пытаюсь получить доступ к любому адресу на этом сервере без завершающей косой черты в конце URL, nginx добавляет завершающую косую черту и удаляет ее
:8080
часть. Этого не произойдет, если я оставлю косую черту.(например:
http://localhost:8080/example
перенаправляется наhttp://localhost/example/
. Тот факт, что phpMyAdmin запущен как на виртуальной машине, так и на хост-машине, добавил больше путаницы, поскольку я вижу диалоговое окно входа в phpMyAdmin, но не в том месте).Кажется, это распространенная ошибка nginx . Я гуглил и пробовал разные решения безуспешно. Если я найду решение для своего случая, я обновлю этот ответ.
источник
Корневые логины должны быть разрешены в
/etc/phpmyadmin/config.inc.php
файле конфигурации.Добавьте следующую строку:
источник
true
. Я не установил значение false, и его нет в файле конфигурации.Проверьте,
/var/log/nginx/error.log
чтобы увидеть, что говорит ошибка 500.Похоже, вы используете две конфигурации (одна на порту 80, а другая на 8080), которые могут конфликтовать.
источник