update
This commit is contained in:
		
							parent
							
								
									1b38f977ec
								
							
						
					
					
						commit
						905af503e9
					
				
							
								
								
									
										24
									
								
								config/plugin/webman/console/app.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								config/plugin/webman/console/app.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | ||||
| <?php | ||||
| return [ | ||||
|     'enable' => true, | ||||
| 
 | ||||
|     'build_dir'  => BASE_PATH . DIRECTORY_SEPARATOR . 'build', | ||||
| 
 | ||||
|     'phar_filename' => 'webman.phar', | ||||
| 
 | ||||
|     'bin_filename' => 'webman.bin', | ||||
| 
 | ||||
|     'signature_algorithm'=> Phar::SHA256, //set the signature algorithm for a phar and apply it. The signature algorithm must be one of Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512, or Phar::OPENSSL.
 | ||||
| 
 | ||||
|     'private_key_file'  => '', // The file path for certificate or OpenSSL private key file.
 | ||||
| 
 | ||||
|     'exclude_pattern'   => '#^(?!.*(composer.json|/.github/|/.idea/|/.git/|/.setting/|/runtime/|/vendor-bin/|/build/|/vendor/webman/admin/))(.*)$#', | ||||
| 
 | ||||
|     'exclude_files'     => [ | ||||
|         '.env', 'LICENSE', 'composer.json', 'composer.lock', 'start.php', 'webman.phar', 'webman.bin' | ||||
|     ], | ||||
| 
 | ||||
|     'custom_ini' => ' | ||||
| memory_limit = 256M | ||||
|     ', | ||||
| ]; | ||||
							
								
								
									
										73
									
								
								webman
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										73
									
								
								webman
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,73 @@ | ||||
| #!/usr/bin/env php | ||||
| <?php | ||||
| 
 | ||||
| use Webman\Config; | ||||
| use Webman\Console\Command; | ||||
| use Webman\Console\Util; | ||||
| use support\Container; | ||||
| if (!Phar::running()) { | ||||
|     chdir(__DIR__); | ||||
| } | ||||
| require_once __DIR__ . '/vendor/autoload.php'; | ||||
| 
 | ||||
| if (!$appConfigFile = config_path('app.php')) { | ||||
|     throw new RuntimeException('Config file not found: app.php'); | ||||
| } | ||||
| $appConfig = require $appConfigFile; | ||||
| if ($timezone = $appConfig['default_timezone'] ?? '') { | ||||
|     date_default_timezone_set($timezone); | ||||
| } | ||||
| 
 | ||||
| if ($errorReporting = $appConfig['error_reporting'] ?? '') { | ||||
|     error_reporting($errorReporting); | ||||
| } | ||||
| 
 | ||||
| if (!in_array($argv[1] ?? '', ['start', 'restart', 'stop', 'status', 'reload', 'connections'])) { | ||||
|     require_once __DIR__ . '/support/bootstrap.php'; | ||||
| } else { | ||||
|     if (class_exists('Support\App')) { | ||||
|         Support\App::loadAllConfig(['route']); | ||||
|     } else { | ||||
|         Config::reload(config_path(), ['route', 'container']); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| $cli = new Command(); | ||||
| $cli->setName('webman cli'); | ||||
| $cli->installInternalCommands(); | ||||
| if (is_dir($command_path = Util::guessPath(app_path(), '/command', true))) { | ||||
|     $cli->installCommands($command_path); | ||||
| } | ||||
| 
 | ||||
| foreach (config('plugin', []) as $firm => $projects) { | ||||
|     if (isset($projects['app'])) { | ||||
|         foreach (['', '/app'] as $app) { | ||||
|             if ($command_str = Util::guessPath(base_path() . "/plugin/$firm{$app}", 'command')) { | ||||
|                 $command_path = base_path() . "/plugin/$firm{$app}/$command_str"; | ||||
|                 $cli->installCommands($command_path, "plugin\\$firm" . str_replace('/', '\\', $app) . "\\$command_str"); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|     foreach ($projects as $name => $project) { | ||||
|         if (!is_array($project)) { | ||||
|             continue; | ||||
|         } | ||||
|         foreach ($project['command'] ?? [] as $class_name) { | ||||
|             $reflection = new \ReflectionClass($class_name); | ||||
|             if ($reflection->isAbstract()) { | ||||
|                 continue; | ||||
|             } | ||||
|             $properties = $reflection->getStaticProperties(); | ||||
|             $name = $properties['defaultName']; | ||||
|             if (!$name) { | ||||
|                 throw new RuntimeException("Command {$class_name} has no defaultName"); | ||||
|             } | ||||
|             $description = $properties['defaultDescription'] ?? ''; | ||||
|             $command = Container::get($class_name); | ||||
|             $command->setName($name)->setDescription($description); | ||||
|             $cli->add($command); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| $cli->run(); | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 hgc
						hgc