2019年9月18日
  • Just another WordPress site

Nginx+PHP5-FPMで「access denied.」の表示が出た時の対処

  • 2014年11月24日

Nginx+PHP5-FPMでいつの間にか、PHPのファイルをアクセスした際に「Access denied.」の表示が出るようになりました。

あれっと思いましたが、調べてみたらNginxのデフォルトの/etc/nginx/sites-available/defaultに次のようなコメントがありましたので、/etc/php5/fpm/php.iniのfix.pathinfo=0としたのが原因だったようです。

location ~ \.php$ {

     fastcgi_split_path_info ^(.+\.php)(/.+)$; 
     # # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini 
     # # # With php5-cgi alone: 
     # fastcgi_pass 127.0.0.1:9000; 
     # # With php5-fpm: 
     fastcgi_pass unix:/var/run/php5-fpm.sock; 
     fastcgi_index index.php; 
     include /etc/nginx/fastcgi_params; 
}

このコメントは、「cgi.fix_pathinfo = 0とせよ」の意味かと思い、デフォルトでは「cgi.fix_pathinfo = 1」となっていたのを、「0」としたのがまずかったようです。デフォルトの「1」の設定にしたら、ちゃんとPHPファイルが実行されました。OSはUbuntu14.04LTS/14.10です。何故なのか、不明です。

コメントを残す

CAPTCHA