Я отправляю POST-данные .php-файла из приложения Java. Файл .php не принимает данные POST. file_get_contents ('php: // input') пуст и $ _POST пуст. Я знаю, что проблема связана не с файлом .php или с java-приложением, потому что я тестировал его с помощью другого хоста, и он работал. Есть ли параметр в php.ini, который у меня отсутствует, или параметр, который мне нужно изменить?
Если Content-Type пуст или не распознан в HTTP-сообщении, то массив PHP $ _POST пуст. Если вы не можете отправить Content-Type, вы можете добавить это на свой PHP:
if(empty($_SERVER['CONTENT_TYPE'])) { $_SERVER['CONTENT_TYPE'] = "application/x-www-form-urlencoded"; }
Вы также можете проверить, есть ли у вас правильные настройки в php.ini
; Maximum size of POST data that PHP will accept. post_max_size = 8M
Если post_max_size равно 0, PHP не будет заполнять $ _POST.
variables_order = "EGPCS"
Если у вас нет P, $ _POST также не будет установлен.
у меня тоже была эта проблема, для будущих посетителей моя проблема отсутствовала в трейлинг-косе в URL-адресе
http://someplace.com/cheeseburger
должно было
http://someplace.com/cheeseburger/
например. это привело к тому, что сообщение не получилось в моем случае.