Home >Backend Development >PHP Problem >What should I do if php cannot obtain post data?

What should I do if php cannot obtain post data?

藏色散人
藏色散人Original
2020-08-01 10:44:062804browse

Solution to the problem that php cannot obtain post data: 1. Find the "php.ini" configuration file and look for the "enable_post_data_reading" variable; 2. Create the project in the working directory of the Apache server; 3. From PhpStorm Open the browser debugger in and change the configuration.

What should I do if php cannot obtain post data?

Recommended: "PHP Video Tutorial"

Beginners to learn php, use echo $_POST["variable"] and var_dump($_POST) cannot obtain post data.

The solution is as follows:

1. Find the php.ini configuration file, look for the enable_post_data_reading variable, and make sure it is open:

2 .Observe the address of your browser running php, you will find that the service port number used to open the browser in PhpStorm is 63342 (URL is in the form of localhost:63342/)

So the cause of the problem is: PhpStorm By default, the built-in internal server is used, but the apache server in xampp is not used. The built-in server phpStorm uses port 63342, and there is a problem within the server, causing the POST method to be abnormal; and if you place the project in the working directory of the Apache server and enter localhost in the address bar, the Apache server is used at this time, and the default port number is 80, the Apache server can run the program normally.

Since there is a problem with PhpStorm’s internal server, the solution is to find a way not to use the internal server. There are two methods:

1. Create the project in the working directory of the Apache server, and directly enter the localhost address in the browser address bar each time it runs

2. If you still want to use Open the browser debugger in PhpStorm, which can be achieved by changing the configuration:

(1) First map the apache server directory to the local directory

The method is as follows:

1. Find /xampp/apache/conf/httpd.conf file

2. Find the 92aac8a5cc4b2dcfdd313b09f4c3c819 06509456e3f48e01a40badedd77d458e code block

3. Add The following code is as follows:

  1. # /phpworkspace/ : The alias of the directory on other disks is the alias of the directory you want to map
  2. # "E/phpworkspace/" : This is Absolute path of the directory
  3. Alias ​​/phpworkspace/ "E/phpworkspace/"
  4. # Now you can access the projects in the phpworkspace folder under the E drive through //localhost/phpworkspace/

4. Add a piece of code at the same level as 1d2836e31d6e6e17d304ed49097f9974, as follows:

  1. <Directory "E/phpworkspace/">  
        AllowOverride All  
        Options Indexes FollowSymLinks Includes ExecCGI  
        Require all granted  
    </Directory>

Finished. Now Restart Apache, visit: http://localhost/phpworkspace/ and that’s it

(2) Then in PhpStorm, find File->Settings->Build, Execution, Deployment->Deployment, It is initially empty. Click the green plus sign to add a local server. Just name it localhost. Select In place for Type:

After the creation is completed, the default is under the Connection tab on the right. The settings have configured the server as the Apache server under port 80, that is, http://localhost

. Change it to the working directory you mapped to the local project:

The Local path under the Mappings tag is set to the directory of your local project:

At this time, click the browser from PhpStorm, and the accessed URL no longer has port 63342 This field uses the local Apache server instead, and the corresponding form data can be received normally

The above is the detailed content of What should I do if php cannot obtain post data?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn