| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | 
							- <?php
 
- // +----------------------------------------------------------------------
 
- // | ThinkPHP [ WE CAN DO IT JUST THINK ]
 
- // +----------------------------------------------------------------------
 
- // | Copyright (c) 2006~2015 http://thinkphp.cn All rights reserved.
 
- // +----------------------------------------------------------------------
 
- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
 
- // +----------------------------------------------------------------------
 
- // | Author: Slince <taosikai@yeah.net>
 
- // +----------------------------------------------------------------------
 
- namespace think\console\command;
 
- use think\console\Command;
 
- use think\console\Input;
 
- use think\console\input\Option;
 
- use think\console\Output;
 
- use think\facade\App;
 
- class RunServer extends Command
 
- {
 
-     public function configure()
 
-     {
 
-         $this->setName('run')
 
-             ->addOption('host', 'H', Option::VALUE_OPTIONAL,
 
-                 'The host to server the application on', '127.0.0.1')
 
-             ->addOption('port', 'p', Option::VALUE_OPTIONAL,
 
-                 'The port to server the application on', 8000)
 
-             ->addOption('root', 'r', Option::VALUE_OPTIONAL,
 
-                 'The document root of the application', App::getRootPath() . 'public')
 
-             ->setDescription('PHP Built-in Server for ThinkPHP');
 
-     }
 
-     public function execute(Input $input, Output $output)
 
-     {
 
-         $host = $input->getOption('host');
 
-         $port = $input->getOption('port');
 
-         $root = $input->getOption('root');
 
-         $command = sprintf(
 
-             'php -S %s:%d -t %s %s',
 
-             $host,
 
-             $port,
 
-             escapeshellarg($root),
 
-             escapeshellarg($root . DIRECTORY_SEPARATOR . 'router.php')
 
-         );
 
-         $output->writeln(sprintf('ThinkPHP Development server is started On <http://%s:%s/>', $host, $port));
 
-         $output->writeln(sprintf('You can exit with <info>`CTRL-C`</info>'));
 
-         $output->writeln(sprintf('Document root is: %s', $root));
 
-         passthru($command);
 
-     }
 
- }
 
 
  |