Вот в чем проблема: когда я пытаюсь использовать NGINX (1.18) и PHP (7.4.3) с FPM (последний из APT), я сталкиваюсь с проблемой, когда все данные POST из моего скрипта возвращаются как null
$_POST['имя'];
// консоль после сообщения: имя не определено
URL-адрес, который я тоже пытался опубликовать:
/сообщения/новый/сообщение
(пользователь переходит в /posts/new, чтобы создать новую публикацию, запрос $_POST отправляется в /posts/new/posts)
вот мой конфиг nginx:
сервер {
корень /форум/;
индекс index.php;
имя_сервера ***.net;
место расположения / {
try_files $uri $uri/ =404;
}
местоположение /сообщения/ {
try_files $uri $uri/ @rewrites;
}
# передать PHP-скрипты на сервер FastCGI
#
расположение ~ \.php$ {
включить фрагменты/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
местоположение @rewrites {
переписать ^/posts/(?<id>[a-zA-Z0-9]+)$ /posts/?post=$id;
}
слушать [::]:443 ssl ipv6only=on; # под управлением Certbot
слушать 443 ssl; # под управлением Certbot
ssl_certificate /etc/letsencrypt/live/***.net/fullchain.pem; # под управлением Certbot
ssl_certificate_key /etc/letsencrypt/live/***.net/privkey.pem; # под управлением Certbot
включить /etc/letsencrypt/options-ssl-nginx.conf; # под управлением Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # под управлением Certbot
}
когда я создавал эти скрипты, они отлично работали на PHP, встроенном в тестовый сервер.
Также обратите внимание: этот сервер находится за прокси, но это было протестировано за прокси (переход на 192.168.x.x)
редактировать:
также я забыл указать, что $_POST осуществляется через сообщение XMLHTTP через $.ajax из Jquery.
редактировать 2: при просмотре заголовков, отправленных через скрипт (на FPM), данные сообщения не отправляются, но при использовании тестового сервера данные сообщения отправляются