Login   Register  
PHP Classes
elePHPant
Icontem

File: httpd

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Lukasz Cepowski  >  Mock HTTP Server  >  httpd  >  Download  
File: httpd
Role: Application script
Content type: text/plain
Description: Startup script
Class: Mock HTTP Server
Setup and start a HTTP server for testing purposes
Author: By
Last change:
Date: 2012-09-11 03:14
Size: 1,101 bytes
 

Contents

Class file image Download
#!/usr/bin/env php
<?php

declare(ticks 1);
error_reporting(E_ALL);
set_time_limit(0);
ob_implicit_flush();

require_once 
'http.php';

$server = new HttpServer();

function 
sig_handler($signo)
{
    global 
$server;
    
$server->kill();
}

pcntl_signal(SIGTERM'sig_handler');
pcntl_signal(SIGINT'sig_handler');

$longopts = array(
    
'port:',
    
'webdir:',
    
'pidfile:'
);
if (
strpos(phpversion(), '5.2.') !== false) {
    
$options = @getopt('p:w:P:');
} else {
    
$options = @getopt('p:w:P:'$longopts);
}

$port 1080;
if (isset(
$options['p'])) {
    
$port = (int) $options['p'];
} else if (isset(
$options['port'])) {
    
$port = (int) $options['port'];
}

$webdir dirname(dirname(__FILE__)).'/web';
if (isset(
$options['w'])) {
    
$webdir $options['w'];
} else if (isset(
$options['webdir'])) {
    
$webdir $options['webdir'];
}

if (isset(
$options['P'])) {
    @
file_put_contents($options['P'], getmypid());
} else if (isset(
$options['pidfile'])) {
    @
file_put_contents($options['pidfile'], getmypid());
}

$server
    
->setPort($port)
    ->
setWebDir(realpath($webdir))
    ->
run();