Iată problema, când încerc să folosesc NGINX (1.18) și PHP (7.4.3) cu FPM (ultimul de la APT) mă confrunt cu o problemă în care toate datele POST din scriptul meu revin ca nul.
$_POST['nume'];
// consola după postare: numele este nedefinit
Adresa URL pe care am încercat să postez și eu:
/posts/new/post
(utilizatorul merge pe /posts/new pentru a face o nouă postare, cererea $_POST merge la /posts/new/posts)
aici este configurația mea nginx:
Server {
rădăcină /forum/;
index index.php;
nume_server ***.net;
Locație / {
try_files $uri $uri/ =404;
}
locație /postări/ {
try_files $uri $uri/ @rewrites;
}
# treceți scripturile PHP către serverul FastCGI
#
locație ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
locație @rewrites {
rescrie ^/posts/(?<id>[a-zA-Z0-9]+)$ /posts/?post=$id;
}
asculta [::]:443 ssl ipv6only=on; # gestionat de Certbot
asculta 443 ssl; # gestionat de Certbot
ssl_certificate /etc/letsencrypt/live/***.net/fullchain.pem; # gestionat de Certbot
ssl_certificate_key /etc/letsencrypt/live/***.net/privkey.pem; # gestionat de Certbot
includ /etc/letsencrypt/options-ssl-nginx.conf; # gestionat de Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # gestionat de Certbot
}
când construiam aceste scripturi, au funcționat bine pe serverul de testare încorporat PHP.
De asemenea, rețineți: acest server este în spatele unui proxy, dar acesta a fost testat în spatele proxy-ului (trecând la 192.168.x.x)
Editați | ×:
de asemenea, am uitat să precizez că $_POST este printr-o postare XMLHTTP prin $.ajax de la Jquery.
editarea 2: După ce se uită la anteturile trimise prin Script (pe FPM), nu se trimit date de postare, dar când se utilizează serverul de testare, datele de postare sunt trimise