PHP web server in PHP?

后端 未结 4 1214
梦毁少年i
梦毁少年i 2020-12-20 11:03

i.e to replace Apache with a PHP application that sent back html files when http requests for .php files are sent?

How practical is this?

相关标签:
4条回答
  • 2020-12-20 11:16

    Just FYI, PHP 5.4 just released with in-built webserver. Now you can run a local server with very simple commands like -

    $ cd ~/public_html
    $ php -S localhost:8000
    

    And you'll see the requests and responses like this -

    PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
    Listening on localhost:8000
    Document root is /home/me/public_html
    Press Ctrl-C to quit.
    [Thu Jul 21 10:48:48 2011] ::1:39144 GET /favicon.ico - Request read
    [Thu Jul 21 10:48:50 2011] ::1:39146 GET / - Request read
    [Thu Jul 21 10:48:50 2011] ::1:39147 GET /favicon.ico - Request read
    [Thu Jul 21 10:48:52 2011] ::1:39148 GET /myscript.html - Request read
    [Thu Jul 21 10:48:52 2011] ::1:39149 GET /favicon.ico - Request read
    
    0 讨论(0)
  • 2020-12-20 11:18

    It's already been done but if you want to know how practical it is, then i suggest you install and test with Apache bench to see the results:

    http://nanoweb.si.kz/

    Edit, A benchmark from the site:
    
    Server Software:        aEGiS_nanoweb/2.0.1-dev
    Server Hostname:        si.kz
    Server Port:            80
    
    Document Path:          /six.gif
    Document Length:        28352 bytes
    
    Concurrency Level:      20
    Time taken for tests:   3.123 seconds
    Complete requests:      500
    Failed requests:        0
    Broken pipe errors:     0
    Keep-Alive requests:    497
    Total transferred:      14496686 bytes
    HTML transferred:       14337322 bytes
    Requests per second:    160.10 [#/sec] (mean)
    Time per request:       124.92 [ms] (mean)
    Time per request:       6.25 [ms] (mean, across all concurrent requests)
    Transfer rate:          4641.91 [Kbytes/sec] received
    
    Connnection Times (ms)
                  min  mean[+/-sd] median   max
    Connect:        0     0    1.9      0    13
    Processing:    18   100  276.4     40  2739
    Waiting:        1    97  276.9     39  2739
    Total:         18   100  277.8     40  2750
    
    Percentage of the requests served within a certain time (ms)
      50%     40
      66%     49
      75%     59
      80%     69
      90%    146
      95%    245
      98%    449
      99%   1915
     100%   2750 (last request)
    
    0 讨论(0)
  • 2020-12-20 11:26

    Apart from Nanoweb, there is also a standard PEAR component to build standalone applications with a built-in webserver:
    http://pear.php.net/package/HTTP_Server

    Likewise the upcoming PHP 5.4 release is likely to include an internal mini webserver which facilitates simple file serving. https://wiki.php.net/rfc/builtinwebserver

    php -S localhost:8000
    
    0 讨论(0)
  • 2020-12-20 11:32

    Why reinvent the wheel? Apache or any other web server has had a lot of work put into it by a lot of skilled people to be stable and to do everything you wanted it to do.

    0 讨论(0)
提交回复
热议问题