헤더 정보 content-type이 "content-type:application/x-www-form-urlencoded"인지 확인하세요. 이 전송은 양식에 데이터를 제출하기 위한 것이며 PHP는 이를 수락하기 위해 $_POST를 사용합니다. (추천 학습: PHP 비디오 튜토리얼)
헤더 정보 content-type이 "content-type:application/json"이 아닌 경우 이러한 종류의 전송은 json 모드로 데이터를 제출하는 것이므로 PHP는 file_get_contents를 사용해야 합니다. ("php: //input") 입력 스트림을 얻는 방법이 허용됩니다
저는 PHP 초보자이고 echo $_POST["variable"] 및 var_dump($_POST)를 사용하여 게시 데이터를 얻을 수 없습니다.
해결책은 다음과 같습니다.
1. php.ini 구성 파일을 찾고, 활성화_포스트_데이터_reading 변수를 찾아 열려 있는지 확인한 다음 문 앞에 있는 세미콜론을 제거합니다(세미콜론이 있는 문은
2. PHP를 실행하는 브라우저의 주소를 관찰하면 PhpStorm에서 브라우저를 여는 데 사용되는 서비스 포트 번호가 63342라는 것을 알 수 있습니다(URL은 localhost:63342/ 형식입니다)
그래서 문제의 원인은 PhpStorm이 기본적으로 사용하는 것입니다. 내장된 내부 서버이지만 xampp에서는 Apache 서버를 사용하지 않습니다. phpStorm에 내장된 서버는 63342 포트를 사용하는데, 서버 내부에 문제가 있어서 POST 방식이 비정상적으로 되고, 아파치 서버의 작업 디렉터리에 프로젝트를 두고 주소창에 localhost를 입력하면, 이때 아파치 서버를 사용하며 기본 포트번호는 80 이므로 아파치 서버는 정상적으로 프로그램을 실행할 수 있습니다.
PhpStorm 내부 서버에 문제가 있어서 내부 서버를 사용하지 않는 방법을 찾는 것이 해결책입니다. 두 가지 방법이 있습니다.
1. Apache 서버의 작업 디렉터리에 프로젝트를 생성하고 실행될 때마다 브라우저 주소 표시줄에 localhost 주소를 직접 입력합니다.
2. 여전히 프로그램을 열어서 디버깅하려는 경우. 이는 구성을 변경하여 수행할 수 있습니다.
(1) 먼저 Apache 서버 디렉터리를 로컬 디렉터리에 매핑합니다.
방법은 다음과 같습니다.
1. conf/httpd.conf 파일
2.
3을 찾으세요.
# /phpworkspace/ : 其它磁盘上目录的别名, 就是你想映射过来的目录的别名 # "E:/phpworkspace/" : 这个是目录的绝对路径 Alias /phpworkspace/ "E:/phpworkspace/" # 现在就可以通过 //localhost/phpworkspace/ 访问到 E盘下phpworkspace文件夹里的项目了
(2) 그런 다음 PhpStorm에서 File->를 찾습니다. ;설정->빌드, 실행, 배포->배포, 처음에는 비어 있음, 녹색 더하기 기호를 클릭하여 로컬 서버를 추가하고 이름을 localhost로 지정하고 유형:
생성이 완료되면 기본값을 선택합니다. 오른쪽 Connection 탭의 설정에서 서버가 포트 80으로 설정되어 있습니다. Apache 서버, 즉 http://localhost
아래에서 로컬 프로젝트에 매핑한 작업 디렉터리로 변경하고, 아래에 Local 경로를 설정합니다. 매핑 탭을 로컬 프로젝트 디렉터리로 이동합니다.
이때, PhpStorm에서 브라우저를 클릭하면 접속된 URL은 더 이상 63342 필드 포트를 가지고 있지 않으며, 대신 로컬 아파치 서버를 이용하여 해당 폼 데이터를 정상적으로 수신할 수 있습니다
위 내용은 PHP가 게시물 데이터를 수신할 수 없는 이유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!