우리는 앱의 서버측을 개발하고 있습니다. 앱과 공동으로 디버깅할 때 일반적으로 URL 요청 및 매개변수 수신을 실시간으로 추적해야 합니다.
그러나 PHP에는 Python이나 Java와 같은 전용 콘솔 출력 기능이 없으며 Python의 print() 및 Java의 System.out.println(), PHP의 echo, print 및 기타 기능이 php - f index에서 직접 사용됩니다. .php라면 쉘 화면에 출력할 수 있지만, cli_server가 실행 중일 때 디버깅 정보를 쉘에만 출력하고 브라우저에는 출력하지 않는 것만으로는 부족하다.
DuNiang에서 오랫동안 검색해 본 결과 인터넷에는 PHP 내장 서버 cli 모드에 대한 정보가 거의 없고 유용한 정보도 전혀 찾을 수 없습니다.
PHP 공식 문서를 참고하면서 마침내 PHP의 표준 출력 스트림 STDOUT
php://output이 쓰기 전용 데이터라는 생각이 들었습니다. stream 을 사용하면 print 및 echo와 동일한 방식으로 출력 버퍼에 쓸 수 있습니다
cli 모드에서 실행할 때 데이터가 STDOUT에 기록되는 한 echo나 print 없이 즉시 SHELL로 인쇄됩니다. 클라이언트:
따라서 sdtout 표준 출력 스트림의 데이터 입력을 캡슐화하는 사용자 정의 함수를 작성할 수 있습니다. 이는 표시하려는 일정 정보를 인쇄하는 것과 같습니다. 언제든지 쉘로:
<span><span>1</span><span>/*</span><span>2</span><span>* cli模式或者内置server打印调试信息,而不在浏览器输出 </span><span>3</span><span>* param fixed $data 参数可以是除了对象以外的所有数据类型,比如:字符串,数组,jason等 </span><span>4</span><span>*/</span><span>5</span><span>function</span> console(<span>$data</span><span>){ </span><span>6</span><span>$stdout</span> = <span>fopen</span>('php://stdout', 'w'<span>); </span><span>7</span><span>fwrite</span>(<span>$stdout</span>,json_encode(<span>$data</span>)."\n"); <span>//</span><span>为了打印出来的格式更加清晰,把所有数据都格式化成Json字符串</span><span>8</span><span>fclose</span>(<span>$stdout</span><span>); </span><span>9</span> }</span>
내장 서버의 각 요청 후에 현재 디버깅 정보를 인쇄해야 하는 경우: console()을 직접 호출하세요
예:
수신된 모든 GET 또는 POST 매개변수를 인쇄합니다.
console($_GET)
console($_POST); 🎜>
인쇄 문자열:
console("hello php console debug");더 이상 제어를 부러워할 필요가 없습니다. Python 및 Java 콘솔 출력, PHP에는 이제 콘솔 출력 기능도 있습니다
위 내용은 PHP 내장 웹 서버 탐색을 소개합니다. (2) PHP 콘솔 출력 콘솔 기능 사용자 정의 관련 내용을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.