GNU/Linux >> Linux の 問題 >  >> Linux

NginX + PHP-FPM で空白の php ページが表示される

構成によると、2 つの server{...} があります。 まったく同じブロック。そのため、構成の何が問題なのかを説明する前に、詳細を提供する必要があります。トラブルシューティングのヒントについては、以下を参照してください。

とりあえず、ここに投稿して、いくつかの directives をハイライトします。

私の /etx/nginx/conf.d/default.conf 次のように見えます

server {

  # Replace this port with the right one for your requirements
  listen 80;

  # Multiple hostnames separated by spaces.  Replace these as well.
  server_name mydomain.nl;

  root /var/www/mydomain.nl/public_html/;

  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

  index index.php index.html;

  location / {
    # This is cool because no php is touched for static content.
    try_files $uri $uri/ /index.php;
  }

  location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
    expires max;
  }

  location ~* \.php$ {
    try_files $uri =404

    fastcgi_intercept_errors on;

    fastcgi_index   index.php;
    fastcgi_pass    unix:/var/run/php5-fpm.sock;

    include fastcgi_params;

    fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
  }

  location ~ /\.(ht|ssh) {
    deny  all;
  }

  location /status {
    include fastcgi_params;
    fastcgi_pass    unix:/var/run/php5-fpm.sock;
  }

}

次のディレクティブは重要です:

server_name mydmaiin.nl; <-- これはすべてのサーバー ブロックに固有です。

root /var/www/mydomain.nl/public_html/; <-- これは、Web サイト / データを保持するルートです。

残りは些細なことです。

/etc/php-fpm.d/www.conf を見てみましょう ファイルして調べる。ファイル ソケットの使用を選択しました

listen = /var/run/php-fpm/php-fpm.sock <-- php-fpm は nginx と通信します このファイルを通して。これが私の www.conf です あなたが何かを見逃していない限り、ファイル。コメント行をすべて除外しました。したがって、これらの行はコメント解除されています。

[www]
listen = /var/run/php5-fpm.sock
listen.allowed_clients = 127.0.0.1
listen.owner = nginx
listen.group = nginx
listen.mode = 0666
user = apache
group = apache
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/www-slow.log
security.limit_extensions = .php
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session

トラブルシューティング

1) ディレクトリのパーミッションを参照してください。この場合 /usr/share/nginx/html

2) php-fpm エラー ログを参照してください。実行して、構成ファイルが正常にロードされているかどうかを確認します

php-fpm -y /etc/php-fpm.conf

3) log_level = debug を変更 /etc/php-fpm.conf

4) 詳細を教えてください!


Linux
  1. HTMLページでのPHPの使用

  2. nginx-413リクエストエンティティが大きすぎます

  3. PHP-FPMを介してPHPで動作するようにNginxを構成する方法

  1. UbuntuVPSにNginxとPHP-FPMを使用してOwnCloud7をインストールします

  2. Debian 11 に LEMP Stack Nginx、MySQL、PHP をインストールする方法

  3. nginx で cgi.fix_pathinfo を有効にしてもまだ危険ですか?

  1. Ubuntu 20.04 で Apache を使用して PHP-FPM をインストールする方法

  2. Ubuntu 22.04 に LEMP スタック Nginx、MySQL、PHP をインストールする方法

  3. PHP-FPM を使用して PHP を実行するように Nginx を構成する方法