PHP веб-сервер на PHP? - PullRequest
0 голосов
/ 26 мая 2011

т.е. заменить Apache приложением PHP, которое отправляло обратно html-файлы при отправке http-запросов на .php-файлы?

Насколько это практично?

Ответы [ 4 ]

4 голосов
/ 26 мая 2011

Это уже сделано, но если вы хотите узнать, насколько это практично, тогда я предлагаю вам установить и протестировать на Apache Bench, чтобы увидеть результаты:

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)
2 голосов
/ 26 мая 2011

Помимо Nanoweb, существует также стандартный компонент PEAR для создания автономных приложений со встроенным веб-сервером:
http://pear.php.net/package/HTTP_Server

Аналогично, в предстоящем выпуске PHP 5.4, скорее всего, будет внутренний минивеб-сервер, который облегчает простое обслуживание файлов.https://wiki.php.net/rfc/builtinwebserver

php -S localhost:8000
2 голосов
/ 26 мая 2011

Зачем изобретать велосипед? Apache или любой другой веб-сервер проделали много работы для того, чтобы быть стабильными и делать все, что вы хотели.

0 голосов
/ 06 марта 2012

Только к вашему сведению, PHP 5.4 только что выпущен с встроенным веб-сервером .Теперь вы можете запустить локальный сервер с очень простыми командами, такими как -

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

И вы увидите запросы и ответы, подобные этим -

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
...