phpMyAdminを開けません。エラー301または500が発生します


8

phpMyAdminをインストールしましたが、どのブラウザでも開くことができません。を参照すると、301リダイレクト(*)が表示されhttp://localhost:8080/phpmyadminます。/アドレスの最後にを追加すると、代わりに500エラーステータスが表示されます

(*)Wiresharkを使用してキャプチャ。同じホストの端末からnetcatを使用すると、別のアドレスへの301リダイレクトが表示されます

環境は、開発/テスト目的で構築したVMで、LEMP(Linux / Nginx / MySQL / PHP)環境をインストールしました。これは、Ubuntu 12.04 64ビットホストでゲストとして実行されているCentOS 6 64ビットのクリーンインストールです。VMは、ポート転送を使用したNATedモードで実行されています。http://localhost:8080ゲストマシンで開き、nginxウェルカムページを表示できます。phpinfoページも開くことができるので、PHPが実行されていることがわかります。

nginx、MySQM、PHP、phpMyAdminパッケージをそれぞれ個別にインストールしました。phpMyAdminのデフォルト設定を使用しています。MySQLをインストールした後、mysql_secure_installationコマンドを実行し、他のオプションの中でも、リモートrootアクセスを無効にしました。

これが私の設定ファイルです:

  • /etc/php.iniリンク
  • /etc/php.d/mysql.iniリンク
  • /etc/nginx/nginx.confリンク
  • /etc/nginx/conf.d/default.confリンク(PHPスクリプトを実行するために、オンラインチュートリアルに従ってカスタマイズしました。自分が何をしていたのか本当にわかりません。)
  • /etc/phpMyAdmin/config.inc.phpリンク

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.loghttp://www.php.net/manual/en/mbstring.installation.phpのコメントによると、php-mbstringパッケージをインストールしようとしましたが、すでに存在していました。

再起動するとphp-fpm service、エラー500 が解決しました。

PHPセッション

前のエラーを解決した後、次のエラーが発生しました。

ここに画像の説明を入力してください

/etc/phpmyadmin/config.inc.php ラインを持っていた

$ cfg ['Servers'] [$ i] ['auth_type'] = 'cookie';

しかし、PHPのsession.save_path変数は存在しない/var/lib/php/sessionフォルダーに設定されます。

適切なアクセス許可を持つフォルダを作成すると、このエラーが解決され、適切にログインできます。

末尾のスラッシュリダイレクト

私はアセスしようとすると任意の URLの末尾に末尾にスラッシュを付けずにこのサーバーのアドレスを、nginxの末尾にスラッシュを追加しているし、その削除:8080部分を。末尾のスラッシュを残してもそれは起こりません。

(例:http://localhost:8080/exampleにリダイレクトされhttp://localhost/example/ます。phpMyAdmin がVMとホストマシンの両方で実行されているという事実により、phpMyAdminログインダイアログが間違った宛先で表示されるため、さらに混乱が生じます)。

これは一般的なnginxエラーのようです。私はグーグルで成功しなかった様々な解決策を試しました。私のケースの解決策を見つけた場合、この回答を更新します。


0

rootログインは、/etc/phpmyadmin/config.inc.php構成ファイルで許可されている必要があります。

次の行を追加します。

$ cfg ['Servers'] [$ i] ['AllowRoot'] = TRUE;


3
こんにちは、SuperUserへようこそ。構文と、これらのコマンドラインが実行する内容の詳細を説明してください。これは、将来の読者やQA自身に関連する可能性があります。
Lorenzo Von Matterhorn

phpmyadminのログイン画面も表示されません。この行をcfgファイルに追加しましたが、問題は解決しませんでした。
ブラジル人の2013年

docs.phpmyadmin.net/en/latest/config.htmlには、デフォルト値がであると記載されていますtrue。私はそれをfalseに設定しておらず、構成ファイルに存在しません。
そのブラジル人のガイ

0

/var/log/nginx/error.logエラー500の内容を確認してください。

競合する可能性のある2つの構成(1つはポート80で、もう1つは8080で)を実行しているようです。


同じマシンで2つのWebサーバー構成を実行していません。8080はゲストVMのNATリダイレクトポートで、80はホストOSのポートです。技術的には、それらは同じマシン上にありますが、互いに仮想化されています。
そのブラジル人のガイ

しかし、ログファイルを探すというあなたの提案は、正しい方向に私を導きました。
そのブラジル人のガイ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.