Nginx上のPHPのページにアクセスすると「File not found.」と表示される

NginxにPHPを動作させるための設定をいれたのだが、アクセスすると、「File not found.」と表示されて、PHPの処理がされない。Nginxのエラーログを見てみると、下記の表示があった。

FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream,

Nginxの「/etc/nginx/sites-available/default」のPHPに関連する設定は、下記のように設定していた。

     # pass PHP scripts to FastCGI server 
        # 
        location ~ \.php$ { 
                    include snippets/fastcgi-php.conf; 
        # 
        #       # With php-fpm (or other unix sockets): 
                fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; 
        #       # With php-cgi (or other tcp sockets): 
        #       fastcgi_pass 127.0.0.1:9000; 
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
        }

上記を、次のように修正したところ、正常にPHPの処理が行われた。

     # pass PHP scripts to FastCGI server 
        # 
        location ~ \.php$ { 
                 root     /var/www/html; 
                 include snippets/fastcgi-php.conf; 
        # 
        #       # With php-fpm (or other unix sockets): 
                fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; 
        #       # With php-cgi (or other tcp sockets): 
        #       fastcgi_pass 127.0.0.1:9000; 
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
                include fastcgi_params; 
        }

そもそものエラーが、ファイルの場所がわからないということなので、「root  path」でドキュメントルートを指定したことにより、正常に処理ができるようになった。Nginxの設定は、何回やっても難解でどこからしらで躓く。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする