Saya telah menginstal phpMyAdmin, tetapi saya tidak dapat membukanya di browser apa pun: Saya mendapatkan 301 redirect (*) jika saya telusuri http://localhost:8080/phpmyadmin
. Jika saya menambahkan a /
ke akhir addres, saya mendapatkan 500 status kesalahan .
(*) ditangkap menggunakan Wireshark. Jika saya menggunakan netcat dari terminal pada host yang sama, saya mendapatkan 301 redirect ke yang berbeda alamat .
Lingkungan adalah VM yang saya bangun untuk tujuan pengembangan / pengujian, di mana saya menginstal lingkungan LEMP (Linux / Nginx / MySQL / PHP). Ini adalah instalasi bersih CentOS 6 64bit yang dijalankan sebagai tamu pada host Ubuntu 12.04 64bit. VM berjalan dalam mode NATed dengan port forwarding. Saya dapat membuka http://localhost:8080
di mesin tamu dan melihat halaman selamat datang nginx. Saya dapat membuka halaman phpinfo juga, jadi saya tahu PHP sedang berjalan.
Saya telah menginstal masing-masing paket nginx, MySQM, PHP dan phpMyAdmin secara terpisah. Saya menggunakan pengaturan default untuk phpMyAdmin. Setelah installig MySQL, saya telah menjalankan mysql_secure_installation
perintah dan, di antara opsi lain, saya menonaktifkan akses root jarak jauh.
Ini file konfigurasi saya:
sumber
Jawaban:
Ada beberapa penyebab yang mencegah saya masuk ke phpMyAdmin:
mbstring
Kesalahan 500 menghasilkan pesan
PHP Fatal error: Call to undefined function mb_detect_encoding() in /usr/share/php/gettext/gettext.inc on line 177
pada file/var/log/php-fpm/www-error.log
. Menurut komentar di http://www.php.net/manual/en/mbstring.installation.php Saya mencoba menginstalphp-mbstring
paket tetapi sudah ada.Mulai ulang
php-fpm service
memecahkan kesalahan 500.sesi php
Setelah menyelesaikan kesalahan sebelumnya, saya mendapatkan kesalahan berikut:
/etc/phpmyadmin/config.inc.php
punya garistetapi
session.save_path
variabel PHP diatur ke/var/lib/php/session
folder tidak ada .Membuat folder dengan izin yang tepat menyelesaikan kesalahan ini, saya bisa masuk dengan benar.
pengalihan garis miring
Jika saya mencoba mengakses alamat apa pun di server ini tanpa garis miring di akhir URL, nginx menambahkan garis miring dan menghapus
:8080
bagiannya. Itu tidak terjadi jika saya meninggalkan garis miring.(mis .:
http://localhost:8080/example
akan dialihkan kehttp://localhost/example/
. Fakta saya memiliki phpMyAdmin yang menjalankan keduanya di VM dan di mesin host menambahkan lebih banyak kebingungan karena saya akan melihat dialog login phpMyAdmin, tetapi pada tujuan yang salah).Tampaknya menjadi kesalahan nginx yang umum . Saya telah mencari di Google dan mencoba berbagai solusi tanpa hasil. Jika saya menemukan solusi untuk kasus saya, saya akan memperbarui jawaban ini.
sumber
Login root harus diizinkan pada
/etc/phpmyadmin/config.inc.php
file konfigurasi.Tambahkan baris berikut:
sumber
true
. Saya belum menetapkannya ke false, dan itu tidak ada pada file konfigurasi.Periksa Anda
/var/log/nginx/error.log
untuk melihat apa yang dikatakan kesalahan 500.Sepertinya Anda menjalankan dua konfigurasi (satu di port 80 dan yang lain di 8080) yang mungkin konflik.
sumber