Я не можу відкрити phpMyAdmin, отримати помилку 301 або 500


8

Я встановив phpMyAdmin, але я не можу відкрити його в будь-якому браузері: якщо я переглядаю, отримую переадресацію 301 (*) http://localhost:8080/phpmyadmin. Якщо я додаю a /в кінці адресів, я отримаю замість них 500 помилок .

(*) захоплено за допомогою Wireshark. Якщо я використовую netcat з терміналу на тому ж хості, я отримую переадресацію 301 на іншу адресу .

Середовище - це VM, який я створив для цілей розробки / тестування, де я встановив середовище 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команду і, серед інших варіантів, відключив віддалений кореневий доступ.

Ось мої файли конфігурації:


4
Це питання отримало 4 голоси до закриття. Чому? meta.superuser.com/questions/6455/…
Той бразильський хлопець

Відповіді:


4

Існувало кілька причин, які не дозволяють мені ввійти до 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 мала лінію

$ cfg ['Сервери'] [$ i] ['auth_type'] = 'cookie';

але session.save_pathзмінна PHP встановлена ​​в неіснуючу /var/lib/php/sessionпапку.

Створення папки з належними дозволами вирішило цю помилку, я можу правильно увійти.

кінцеве перенаправлення косою рисою

Якщо я спробую отримати доступ до будь-якої адреси на цьому сервері, без кінцевої косою рискою в кінці URL-адреси, nginx додає кінцеву косу рису і видаляє її :8080частину. Це не відбудеться, якщо я залишу проділ.

(напр .: http://localhost:8080/exampleпереспрямовується на те http://localhost/example/. Факт, що у мене phpMyAdmin працює як у віртуальній машині, так і на хост-машині, додав ще більше плутанини, як я побачив діалогове вікно входу в phpMyAdmin, але за неправильним пунктом призначення).

Здається, це звичайна помилка nginx . Я гуглив і без успіху пробував різні рішення. Якщо я знайду рішення для своєї справи, я оновлю цю відповідь.


0

У /etc/phpmyadmin/config.inc.phpфайлі конфігурації повинні бути дозволені кореневі входи .

Додайте наступний рядок:

$ cfg ['Сервери'] [$ i] ['AllowRoot'] = ІСТИНА;


3
привіт і ласкаво просимо до SuperUser. будь-який час, пояснивши синтаксис та детальну інформацію про виконання цих командних рядків. це може бути актуальним для майбутніх читачів або для самого контролю якості.
Лоренцо Фон Маттерхорн

Я навіть не бачу екрана входу в phpmyadmin. Я додав рядок у файл cfg, але він не виправив проблему.
Той бразильський хлопець

docs.phpmyadmin.net/en/latest/config.html стверджує, що значенням за замовчуванням є true. Я не встановив це значення false, і його немає у конфігураційному файлі.
Той бразильський хлопець

0

Перевірте свою /var/log/nginx/error.logінформацію про помилку 500.

Схоже, у вас є дві конфігурації (одна на порт 80 і інша на 8080), які можуть конфліктувати.


Я не використовую дві конфігурації веб-сервера на одній машині. 8080 - порт NAT для переадресації гостя, а 80 - порт для хост-ОС. Технічно вони знаходяться на одній машині, але віртуалізовані один від одного.
Той бразильський хлопець

Однак ваша пропозиція шукати файли журналів спрямовувала мене в правильному напрямку.
Той бразильський хлопець
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.