Saya cuba mengalihkan aplikasi CakePHP daripada PHP 7.4 ke Azure App Service menggunakan PHP 8.1. Saya menghadapi masalah memikirkan konfigurasi nginx yang diperlukan untuk menjadikannya berfungsi.
Saya mengambil konfigurasi nginx asas, menambah perubahan daripada buku CakePHP dan menyuntik fail konfigurasi semasa permulaan (cp /home/default /etc/nginx/sites-enabled/default
).
Saya terus mendapat 404 ralat kecuali halaman akar. Pada halaman indeks, isu reka letak juga boleh berlaku kerana pautan ini juga mengembalikan 404s.
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; #} }
Saya gagal menambah arahan
service nginx restart
selepas salinan. Nampaknya ia berfungsi sekarang.