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