>  기사  >  PHP 프레임워크  >  Swoole을 명령줄을 사용하여 시작해야 하는 이유는 무엇입니까?

Swoole을 명령줄을 사용하여 시작해야 하는 이유는 무엇입니까?

(*-*)浩
(*-*)浩원래의
2019-12-13 09:31:392451검색

Swoole을 명령줄을 사용하여 시작해야 하는 이유는 무엇입니까?

swoole: PHP의 코루틴 고성능 네트워크 통신 엔진은 완전 동기 코드를 사용하여 비동기 프로그램을 구현합니다. PHP 코드에 추가 키워드를 추가할 필요가 없습니다. 하단 레이어는 비동기 IO를 구현하기 위해 자동으로 코루틴 스케줄링을 수행합니다.

Swoole 기반 서버는 명령줄 모드에서 실행되어 인스턴스가 하나만 있는지 확인해야 합니다(포트를 반복적으로 열 수 없음)

#🎜 🎜# 우리는 Swoole을 사용하여 하나를 만듭니다(권장 학습:

swoole 비디오 튜토리얼 )

<?php
$http = new swoole_http_server(&#39;0.0.0.0&#39;, 80, SWOOLE_BASE);
$http->on(&#39;request&#39;, function(swoole_http_request $req, swoole_http_response $res) use($http) {
    $res->write("hello world");
    $res->end();
});

OK, 보시다시피 프레임워크/ ob_flush, Swoole을 더 이상 사용할 수 없습니다. echo를 출력 방법으로 사용하려면 $res->write(String $content) 및 $res->end(String $endContent)를 사용해야 합니다.

#🎜 🎜#그럼 어떻게 액세스하나요?#🎜🎜 #

명령줄 시작

php app.php
# 你在代码里面 echo/var_dump/print(_r) 的内容将在这里输出
그런 다음 브라우저에서 http://localhost/를 열어서 hello world의 출력입니다.#🎜 🎜#하지만 http://localhost/와 http://localhost/xxx 모두 동일한 내용을 출력합니다.

If we PHP가 http://localhost/ 아래에만 출력되기를 원하는데 어떻게 작성합니까?

<?php
$http = new swoole_http_server(&#39;0.0.0.0&#39;, 80, SWOOLE_BASE);
$http->on(&#39;request&#39;, function(swoole_http_request $req, swoole_http_response $res) use($http) {
    if($req->server[&#39;request_uri&#39;] == &#39;/&#39;){
        $res->write("hello world");
        $res->end();
        return;
    }
    $res->end(&#39;404&#39;);
    return;
});

Swoole_http_request $req에는 $req->를 포함하여 앞으로 사용할 수 있는 많은 요청 데이터가 포함되어 있습니다. server, $req->get, $req->post, 배열 구조, ->서버의 KEY는 소문자입니다

위 내용은 Swoole을 명령줄을 사용하여 시작해야 하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.