Ich versuche, eine CakePHP-Anwendung von PHP 7.4 auf Azure App Service mit PHP 8.1 zu verschieben. Ich habe Probleme, die Nginx-Konfiguration herauszufinden, die erforderlich ist, damit es funktioniert.
Ich habe eine grundlegende Nginx-Konfiguration genommen, Änderungen aus dem CakePHP-Buch hinzugefügt und die Konfigurationsdatei beim Start eingefügt (cp /home/default /etc/nginx/sites-enabled/default
).
Ich erhalte ständig 404-Fehler, mit Ausnahme der Root-Seite. Auf der Indexseite können auch Layoutprobleme auftreten, da diese Links ebenfalls 404-Fehler zurückgeben.
server { #proxy_cache cache; #proxy_cache_valid 200 1s; lis ten 8080; lis ten [::]:8080; #root /home/site/wwwroot; root /home/site/wwwroot/webroot; #index index.php index.html index.htm; index index.php; server_name example.com www.example.com; port_in_redirect off; #location / { # index index.php index.html index.htm hostingstart.html; #} # 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; } #added from CakePHP book location / { try_files $uri $uri/ /index.php?$args; } #added from CakePHP book location ~ .php$ { try_files $uri =404; include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_intercept_errors on; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } # 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; #} }
我未能在副本后添加
service nginx restart
命令。看来现在可以工作了。