空白ページ:nginx + php-fpmのワードプレス


18

良い一日。

この投稿では、インストールが正常に完了した後に時々空白ページを提供するものと同様のセットアップについて説明しますが、空白ページ以外は提供できません。そこに存在するエラーがない/var/log/nginx/error.log/var/log/php-fpm.logまたは/var/log/nginx/us/sharonrhodes/blog/error.log

私のセットアップ:

  • Wordpress 3.0.4
  • nginx 0.8.54
  • php-fpm 5.3.5(fpm-fcgi)
  • Arch Linux

構成ファイル

php-fpm.conf:

[グローバル]
pid = run / php-fpm / php-fpm.pid
error_log = log / php-fpm.log
log_level =通知

[www]
listen = 127.0.0.1:9000
listen.owner = www
listen.group = www
listen.mode = 0660
ユーザー= www
グループ= www

pm =動的
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500

nginx.conf:

ユーザーwww;
worker_processes 1;

error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;


イベント{
    worker_connections 1024;
}


http {
    mime.typesを含めます。
    default_type application / octet-stream;
    sendfile on;
    keepalive_timeout 65;

    gzip on;

    /etc/nginx/sites-enabled/*.confを含めます。
}

/etc/nginx/sites-enabled/blog_sharonrhodes_us.conf:

アップストリームphp {
    サーバー127.0.0.1:9000;
}

サーバー{
    error_log /var/log/nginx/us/sharonrhodes/blog/error.log notice;
    access_log /var/log/nginx/us/sharonrhodes/blog/access.log;

    server_name blog.sharonrhodes.us;
    ルート/ srv / apps / us / sharonrhodes / blog;
    index index.php;

    場所= /favicon.ico {
            log_not_found off;
            access_log off;
    }

    location = /robots.txt {
            すべて許可します;
            log_not_found off;
            access_log off;
    }

    場所/ {
            #静的コンテンツのphpに触れないため、これは素晴らしい                                                                                        
            try_files $ uri $ uri / /index.php?q=$uri&$args;
    }

    場所〜\ .php $ {
            fastcgi_split_path_info ^(。+ \。php)(/.+)$;
            #NOTE:「cgi.fix_pathinfo = 0;」が必要です。php.iniで                                                                                          
            fastcgi_paramsを含めます。
            fastcgi_intercept_errors on;
            fastcgi_pass php;
    }

    場所〜* \。(js | css | png | jpg | jpeg | gif | ico)$ {
            最大有効期限。
            log_not_found off;
    }
}

/etc/nginx/conf/fastcgi.conf:

fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;
fastcgi_param QUERY_STRING $ query_string;
fastcgi_param REQUEST_METHOD $ request_method;
fastcgi_param CONTENT_TYPE $ content_type;
fastcgi_param CONTENT_LENGTH $ content_length;

fastcgi_param SCRIPT_NAME $ fastcgi_script_name;
fastcgi_param REQUEST_URI $ request_uri;
fastcgi_param DOCUMENT_URI $ document_uri;
fastcgi_param DOCUMENT_ROOT $ document_root;
fastcgi_param SERVER_PROTOCOL $ server_protocol;

fastcgi_param GATEWAY_INTERFACE CGI / 1.1;
fastcgi_param SERVER_SOFTWARE nginx / $ nginx_version;

fastcgi_param REMOTE_ADDR $ remote_addr;
fastcgi_param REMOTE_PORT $ remote_port;
fastcgi_param SERVER_ADDR $ server_addr;
fastcgi_param SERVER_PORT $ server_port;
fastcgi_param SERVER_NAME $ server_name;

#PHPのみ、PHPが--enable-force-cgi-redirectでビルドされた場合に必要                                                                                         
fastcgi_param REDIRECT_STATUS 200;

空白ページは通常、致命的なエラーがあることを意味します。詳細については、error_logを参照してください
マイク

1
私はこれを述べるべきでしたが、/ var / log / nginx / error.log、/ var / log / php-fpm.logまたは/ var / log / nginx / us / sharonrhodes / blog / errorにエラーはありません。ログ。
トラウトワイン

回答:


37

デフォルトでは、Nginxソースはfastcgi_paramsファイルでSCRIPT_FILENAMEを定義しません。そのため、Nginxをインストールしたレポジトリがそれを行わない限り、自分で行う必要があります。

fastcgi_paramsファイルに次の行があるかどうかを確認します。

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

そうでない場合は追加します。


残念ながら、私はfastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;の最上部で定義しました/etc/nginx/conf/fastcgi.conf。これを反映するために元の投稿を編集します。
トラウトワイン

4
ファイルfastcgi.paramではなく、fastcgi_paramsを含めます。私の答えはまだ有効です。
マーティンフィヨルドヴァルド

4

これは私を少し噛みました-それは完全に私のせいでした。私が固定したものを共有したかった。私の場合、index.phpは読み込まれていません(空白ページ)が、wp-adminは機能していました。

カスタムテーマがあり、共有ホスティングアカウントからVPSに最近移行しました。rsyncを実行しましたが、私のテーマ(/srv/blog.clifton.io/wp-content/themes/theme-here)はシンボリックリンクです。もちろん、このシンボリックリンクは以前のホスティングアカウントからのパスを使用していたため、壊れました。

お役に立てれば!(そして、「THEME NOT FOUND」などをログに記録することを望みます)


それに2日間を費やしました。知らないうちにテーマを削除し、空白のページがありました。テーマが見つからないというエラーを必ず表示する必要があります。
SAマリク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.