PHP 5.4.17
我有一个简单的html表单,看起来像这样:
<form method="POST" action="/addnewaccount.php">
<input type="text" name="firstname" />
<button type="submit">Submit</button>
</form>
<?php
var_dump($_POST); // array(0) {}
var_dump($_REQUEST); // array(0) {}
var_dump(file_get_contents('php://input')); //string(0) ""
var_dump($HTTP_RAW_POST_DATA); // NULL
提交此表单后,php将不会填充$ _POST或$ _REQUEST变量。它们只是空数组。
我已经在php.ini文件中检查了以下内容:
enable_post_data_reading = On
post_max_size = 10M
variables_order = "GPCS"
request_order = "GP"
如果将表单的enctype更改为“ multipart / form-data”,则会填充$ _POST和$ _REQUEST变量,因此我认为问题在于默认的enx类型为“ x-www-form-urlencoded”,但是我不知道如何使用默认设置。
我能够解决这个问题。我发现这是我们的Node代理和php的相互作用。