繁体   English   中英

404 Not Found nginx/1.14.2 after upgrade PHP 8 在 Azure - Laravel

[英]404 Not Found nginx/1.14.2 after upgrade PHP 8 on Azure - Laravel

我正在尝试在 Azure App Service (Linux) 上从 PHP 7.4 升级到 PHP 8。

它显示以下错误:404 Not Found - nginx/1.14.2

我知道问题是 PHP 8 中的 Azure 使用 NGINX 而不是 ZE9713ZAE034A02A827946F 所以我按照这里给出的步骤: https://azureossd.github.io/2021/09/02/php-8-rewrite-rule/index.ZFC35FDC70D5FC69D2698Z83A23

有一段时间它工作正常,但从它停止工作并重新启动后的第二天开始显示错误“404 Not Found nginx/1.14.2”

这是我的默认文件:

server {
    #proxy_cache cache;
    #proxy_cache_valid 200 1s;
    listen 8080;
    listen [::]:8080;
    root /home/site/wwwroot;
    index  index.php index.html index.htm;
    server_name  example.com www.example.com; 

    location / {            
        index  index.php index.html index.htm hostingstart.html;
        try_files $uri $uri/ /index.php?$args;
    }

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /html/;
    }
    
    # Disable .git directory
    #
    location ~ /\.git {
        deny all;
        access_log off;
        log_not_found off;
    }

    # Add locations of phpmyadmin here.
    #
    location ~ [^/]\.php(/|$) {
        fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
        fastcgi_pass 127.0.0.1:9000;
        include fastcgi_params;
        fastcgi_param HTTP_PROXY "";
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param QUERY_STRING $query_string;
        fastcgi_intercept_errors on;
        fastcgi_connect_timeout         300; 
        fastcgi_send_timeout           3600; 
        fastcgi_read_timeout           3600;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
    }
}

这是安装了 ssl 的有效 nginx 配置。 您可以将其视为参考并根据自己的需要进行修改

    server {
    server_name something.com www.something.com;
    root /var/www/something.com/public;
    
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.html index.htm index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/something.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/something.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot


}

server {
    if ($host = www.something.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = something.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80;
    server_name something.com www.something.com;
    return 404; # managed by Certbot

}

我在 Azure App Services 中从 Apache 更改为 Nginx 时遇到了类似的问题。 我做了一些进一步的研究以使我的应用程序正常工作,并在https://www.azurephp.dev/2021/09/php-8-on-azure-app-service/上发布了有关它的博客。 也许我找到的解决方案可以进一步帮助您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM