検索
ホームページデータベースPHPMyAdminphpMyAdmin が nginx+php-fpm モードで使用できない場合はどうすればよいですか?

以下は、phpmyadmin##Using Tutorial ColumnphpMyAdmin によって紹介されています。解決策 は nginx php-fpm モードでは使用できません。困っている友人のお役に立てれば幸いです。

phpMyAdmin が nginx+php-fpm モードで使用できない場合はどうすればよいですか?

昨日ネチズンから質問を受け取りました。yum で nginx php-fpm mysql phpMyAdmin をインストールした後、それが見つかったというものです。 phpMyAdmin が開けないということで、私は長い間 502 エラーを報告していました。他人の幸せを助けるという原則に沿って、私はリモートでチェックするのを手伝いました。記録と概要は次のとおりです。問題の概要-解決アイデアは記事の最後にあり、問題解決アイデアの概要もこの記事に含まれています。

推奨: "

phpmyadmin 使用法チュートリアル"

問題環境: CentOS6 nginx php-fpm mysql phpMyAdmin## yum 経由でインストール

#問題の説明:

インストール完了後、nginx には問題がないことがわかりましたが、phpMyAdmin を開くことができず、502 エラーが表示されます

問題解決プロセス

問題の環境を表示する インストール パッケージ:

#nginx-filesystem-1.0.15-12.el6.noarch## php-pear-1.9.4- 4.el6.noarchphp-devel-5.3.3-46.el6_6.x86_64 php-mbstring-5.3.3- 46.el6_6.x86_64php-mcrypt-5.3.3-3.el6.x86_64php -5.3.3-46.el6_6.x86_64php-tidy-5.3.3-46.el6_6.x86_64php-pecl -memcache-3.0.5- 4.el6.x86_64php-xmlrpc-5.3.3-46.el6_6.x86_64php -xmlseclibs-1.3.1- 3.el6.noarchphp-common-5.3.3-46.el6_6.x86_64php -pdo-5.3.3- 46.el6_6.x86_64php-xml-5.3.3-46.el6_6.x86_64php- fpm-5.3.3- 46.el6_6.x86_64php-cli-5.3.3-46.el6_6.x86_64php-mysql -5.3.3- 46.el6_6.x86_64php-eaccelerator-0.9.6.1-1.el6.x86_64php-gd- 5.3.3- 46.el6_6.x86_64

nginx から報告された 502 エラーに基づいて、まずアップストリームに問題があると判断できます。アップストリームに言及する前に、nginx の設定ファイルを一覧表示します (コメントを削除します。nginx のエラー ログのレベルをレベル上げしました)デフォルトのレベルは情報です)。

user              nginx;   
worker_processes  1;
error_log  /var/log/nginx/error.log info;
pid        /var/run/nginx.pid;
events {   
    worker_connections  1024;    
}
http {   
    include       /etc/nginx/mime.types;    
    default_type  application/octet-stream;
    client_max_body_size 10M;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '   
                      '$status $body_bytes_sent "$http_referer" '    
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    sendfile        on;   
    keepalive_timeout  65;  
    include /etc/nginx/conf.d/*.conf;
}

この設定ファイルにはサーバーが明示的に記述されていないため、 include /etc/nginx/conf.d/*.conf; に含まれるデフォルトのサーバー ファイル (/etc/nginx /) を確認する必要があります。 conf.d/default.conf のコメント

cat /etc/nginx/conf.d/default.conf    
server {    
    listen       80 default_server;    
    server_name  _;  
    include /etc/nginx/default.d/*.conf;
    location / {   
        root   /usr/share/nginx/html;    
        index  index.php index.html index.htm;    
    }
    error_page  404              /404.html;   
    location = /404.html {    
        root   /usr/share/nginx/html;    
    }  
    error_page   500 502 503 504  /50x.html;    
    location = /50x.html {    
        root   /usr/share/nginx/html;    
    }
     location ~ [^/]\.php(/|$) {   
                fastcgi_split_path_info ^(.+?\.php)(/.*)$;    
                if (!-f $document_root$fastcgi_script_name) {    
                        return 404;    
                }    
                fastcgi_pass 127.0.0.1:9000;    
                fastcgi_index index.php;    
                include fastcgi_params;    
     }    
}

を削除 暫定的な判断では、nginx の設定に問題はありませんが、php-fpm または php 自体に問題があるはずです (範囲を狭める)問題)。

nginx ログ ファイル (/var/log/nginx/error.log) を確認し、次のプロンプトを見つけます。これは間違いなく php-fpm の問題です。Fastcgi はアップストリームのプロキシとみなすこともできます

2015/08/14 17:05:32 [notice] 9645#0: using the "epoll" event method   
2015/08/14 17:05:32 [notice] 9645#0: nginx/1.0.15    
2015/08/14 17:05:32 [notice] 9645#0: built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)     
2015/08/14 17:05:32 [notice] 9645#0: OS: Linux 2.6.32-504.el6.x86_64    
2015/08/14 17:05:32 [notice] 9645#0: getrlimit(RLIMIT_NOFILE): 65535:65535    
2015/08/14 17:05:32 [notice] 9646#0: start worker processes    
2015/08/14 17:05:32 [notice] 9646#0: start worker process 9648    
2015/08/14 17:05:36 [error] 9648#0: *1 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.1.228, server: 192.168.1.101, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.1.101"    
2015/08/14 17:09:22 [error] 9648#0: *4 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.1.228, server: 192.168.1.101, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.1.101"    
2015/08/14 17:11:23 [error] 9648#0: *7 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.1.228, server: 192.168.1.101, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "192.168.1.101"    
2015/08/14 17:11:33 [info] 9648#0: *9 client closed prematurely connection while reading client request line, client: 192.168.1.228, server: 192.168.1.101

phpinfo を開くことができるファイルを作成し、php ファイルが正しく解析できるかどうかを確認します (問題の範囲をさらに絞り込みます)

php-fpm が正常に php ファイルを解析できることがわかりました。内部のすべての php コンポーネントは正常に表示されます

phpMyAdmin のバージョンを確認し、公式 Web サイトのドキュメントで php5.3.3 をサポートしているかどうかを確認し、現在の phpMyAdmin がそれをサポートしていることが判明したため、 phpMyAdmin の問題

php-fpm ログ (/var/log /php-fpm/error.log) のチェックを開始すると、次のことがわかりました:

[14-Aug-2015 16:34:53] NOTICE: fpm is running, pid 9522   
[14-Aug-2015 16:34:53] NOTICE: ready to handle connections    
[14-Aug-2015 16:43:54] WARNING: [pool www] child 9527 exited on signal 11 (SIGSEGV) after 541.401349 seconds from start    
[14-Aug-2015 16:43:55] NOTICE: [pool www] child 9614 started    
[14-Aug-2015 16:44:00] WARNING: [pool www] child 9526 exited on signal 11 (SIGSEGV) after 547.107407 seconds from start    
[14-Aug-2015 16:44:00] NOTICE: [pool www] child 9615 started    
[14-Aug-2015 17:05:36] WARNING: [pool www] child 9523 exited on signal 11 (SIGSEGV) after 1843.098829 seconds from start    
[14-Aug-2015 17:05:36] NOTICE: [pool www] child 9649 started

このログでは明らかに十分ではありません。問題を解決するには十分な情報があるため、php-fpm および php.ini 設定のログ レベルのいくつかのパラメーターを変更して、ログ レベルを上げ、詳細なエラー情報を取得します。

設定ファイルでログ キーワードを検索するか、ドキュメントまたは情報に従って変更します。いくつかの方法または手順は次のとおりです:

/etc/php-fpm.conf ファイル、ログレベルを Notice から変更します。 debug

log_level = debug

/etc/php-fpm.d/www.conf ファイルに移動し、php ワーカーの標準出力とエラー出力を /dev/null からメイン出力にリダイレクトします。エラー ログ: /var/ log/php-fpm/error.log

catch_workers_output = yes

/etc/php.ini file

error_reporting = E_ALL & ~E_DEPRECATED
display_errors = On
display_startup_errors = On
log_errors = On
track_errors = On
html_errors = On

php-fpm を再起動し、ワーカーで詳細なエラーを見つけます。 :

[14-Aug-2015 17:09:18] NOTICE: fpm is running, pid 9672   
[14-Aug-2015 17:09:18] NOTICE: ready to handle connections    
[14-Aug-2015 17:09:22] WARNING: [pool www] child 9673 said into stderr: "[Fri Aug 14 17:09:22 2015"    
[14-Aug-2015 17:09:22] WARNING: [pool www] child 9673 said into stderr: "] [notice] EACCELERATOR(9673): PHP crashed on opline 30 of PMA_URL_getCommon() at /usr/share/nginx/html/libraries/url_generating.lib.php:188"    
[14-Aug-2015 17:09:22] WARNING: [pool www] child 9673 said into stderr: ""    
[14-Aug-2015 17:09:22] WARNING: [pool www] child 9673 exited on signal 11 (SIGSEGV) after 4.286828 seconds from start    
[14-Aug-2015 17:09:22] NOTICE: [pool www] child 9679 started    
[14-Aug-2015 17:11:23] WARNING: [pool www] child 9675 said into stderr: "[Fri Aug 14 17:11:23 2015"    
[14-Aug-2015 17:11:23] WARNING: [pool www] child 9675 said into stderr: "] [notice] EACCELERATOR(9675): PHP crashed on opline 30 of PMA_URL_getCommon() at /usr/share/nginx/html/libraries/url_generating.lib.php:188"

エラー メッセージには EACCELERATOR PHP モジュールが記載されているため、まずこのモジュールに問題があるかどうかを確認してください。したがって、最初に /etc/php.d/eaccelerator のサフィックス名を変更してこのモジュールを無効にします.ini ファイルたとえば、mv /etc/php.d/eaccelerator.ini /etc/php.d/eaccelerator.ini~ と入力し、php-fpm を再起動して結果を再度確認すると、問題が解決していることがわかります。

eaccelerator が phpMyAdmin と競合する可能性があるため、phpMyAdmin を使用したい場合は、このモジュールを無効にするか、インストール中にこのパッケージをスキップしてください。

注: eAccelerator は、動的コンテンツ キャッシュを最適化し、PHP スクリプトのキャッシュ パフォーマンスを向上させ、コンパイルされた状態の PHP スクリプトのサーバー オーバーヘッドをほぼ完全に排除する、無料のオープンソース PHP アクセラレータです。また、スクリプトを最適化して実行効率を高速化します。 PHP プログラム コードの実行効率が 1 ~ 10 倍向上します。 (bdbk より)

問題解決アイデアのまとめ

第 0 条、障害診断の鍵となるのはコミュニケーションであり、導入などの問題を詳細に理解する計画、手順、実行された操作など。

まず、経験に基づいて、nginx php-fpm phpMyAdmin は非常に信頼できる組み合わせであるため、これは個人的な問題であり、問​​題ではないと判断します。バッチの問題があるため、直接開始しました。システムにログインして、インストールされているソフトウェア パッケージを確認します。nginx、php、phpMyAdmin のバージョンを確認する必要があります。このステップは、知識と経験に基づいて予備的な判断を下すのに役立ちます。互換性があるかどうか、未修正のバグがあるかどうかなど。

2 番目に、nginx -t を実行して、nginx 構成ファイルに明示的なエラーがあるかどうかを確認し、nginx の実行ステータスを確認します。

3 番目に、php-fpm -t を実行して構成ファイルを確認します。 php-fpm の明示的なエラーがある場合は、php-fpm

4 番目に、エラー ログを確認します。最初に nginx エラー ログを確認します (これは「最初のサイト」であるため)。 php-fpm ログを確認します。これは「2 番目のシーン」であるためです。

#5 番目に、ログ プロンプトが明らかな場合は、ログ プロンプトに従い、対応する構成ファイルを変更し、問題を再度確認します

6 番目に、まだ問題がある場合は、

このステップは、問題を解決するための最も重要なステップです。ログのレベルを上げる必要があります。これが、デバッグがデバッグと呼ばれる理由です。. 増やすnginx のログ レベルを情報にします (nginx をデバッグにアップグレードできない理由) コンパイル時に --debug オプションがあります (よくわからない場合は使用する必要はありません)。php ログ レベルをデバッグに上げ、すべての PHP デバッグ スイッチをオンにします。プロンプトをログに記録し、問題を再度確認してください

8 番目、修正を繰り返しても失敗する場合は、公式マニュアルを参照してください。公式マニュアルを参照してください。Google で検索する場合は、Google で検索してください。バグを報告する場合は、バグを報告してください。問題が解決しない場合は、別の方法で問題を解決し、正しい解決策を見つけてください。以下を参照してください:

既存の成功したバージョンの組み合わせを参照し、変更してください。バージョンの組み合わせを変更するか、構成ファイルを変更して環境の違いを排除します。これは問題を迅速に解決するのに適しています
  • yum インストールをコンパイル済みインストールに変更するか、yum でインストールするパッケージの数を減らして、最小限のインストール方法で問題の範囲を最小限に抑えることで、問題を特定し、問題を解決する能力を向上させます。研究や勉強に最適です。

最後に一言: 問題が再現でき、ランダムに表示されない限り、問題は確実にうまく解決されますので、やめないでください。パニックになったり、衝動的になったりしますが、諦めずにゆっくりと落ち着いて対処してください。 ###### - 終わり - ###

##nginx-1.0.15- 12.el6.x86_64
rrdtool-php-1.3.8-7.el6.x86_64

以上がphpMyAdmin が nginx+php-fpm モードで使用できない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はcsdnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
phpmyadmin怎么设置主键phpmyadmin怎么设置主键Apr 07, 2024 pm 02:54 PM

表的主键是一列或多列,用于唯一标识表中每条记录。设置主键的步骤如下:登录 phpMyAdmin。选择数据库和表。勾选要作为主键的列。点击 "保存更改"。主键具有数据完整性、查找速度和关系建模方面的好处。

phpmyadmin怎么添加外键phpmyadmin怎么添加外键Apr 07, 2024 pm 02:36 PM

在 phpMyAdmin 中添加外键可以通过以下步骤实现:选择包含外键的父表。编辑父表结构,在“列”中添加新列。启用外键约束,选择引用表和键。设置更新/删除操作。保存更改。

phpmyadmin日志在哪里phpmyadmin日志在哪里Apr 07, 2024 pm 12:57 PM

PHPMyAdmin日志文件的默认位置:Linux/Unix/macOS:/var/log/phpmyadminWindows:C:\xampp\phpMyAdmin\logs\日志文件用途:故障排除审计安全性

phpmyadmin账号密码是什么phpmyadmin账号密码是什么Apr 07, 2024 pm 01:09 PM

PHPMyAdmin 的默认用户名和密码为 root 和空。为了安全起见,建议更改默认密码。更改密码的方法:1. 登录 PHPMyAdmin;2. 选择 "privileges";3. 输入新密码并保存。忘记密码时,可通过停止 MySQL 服务并编辑配置文件的方式重置密码:1. 添加 skip-grant-tables 行;2. 登录 MySQL 命令行并重置 root 密码;3. 刷新权限表;4. 删除 skip-grant-tables 行,重启 MySQL 服务。

phpmyadmin怎么删除数据表phpmyadmin怎么删除数据表Apr 07, 2024 pm 03:00 PM

phpMyAdmin 中删除数据表的步骤:选择数据库和数据表;点击“操作”选项卡;选择“删除”选项;确认并执行删除操作。

为什么phpmyadmin拒绝访问为什么phpmyadmin拒绝访问Apr 07, 2024 pm 01:03 PM

phpMyAdmin 拒绝访问的原因及解决方案:认证失败:检查用户名和密码是否正确。服务器配置错误:调整防火墙设置,检查数据库端口是否正确。权限问题:授予用户对数据库的访问权限。会话超时:刷新浏览器页面重新连接。phpMyAdmin 配置错误:检查配置文件和文件权限,确保启用了必需的 Apache 模块。服务器问题:等待一段时间后再重试或联系主机提供商。

phpmyadmin漏洞属于什么漏洞phpmyadmin漏洞属于什么漏洞Apr 07, 2024 pm 01:36 PM

phpMyAdmin 易受多种漏洞影响,包括:1. SQL 注入漏洞;2. 跨站点脚本 (XSS) 漏洞;3. 远程代码执行 (RCE) 漏洞;4. 本地文件包含 (LFI) 漏洞;5. 信息泄露漏洞;6. 权限提升漏洞。

phpmyadmin关联视图在哪phpmyadmin关联视图在哪Apr 07, 2024 pm 01:00 PM

可以在 phpMyAdmin 中“结构”选项卡下的“视图”子菜单中找到关联视图。要访问它们,只需选择数据库、点击“结构”选项卡、然后点击“视图”子菜单。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール