2023-03-28 23:42:43 +08:00
|
|
|
#!/usr/bin/env php
|
2023-03-18 17:32:21 +08:00
|
|
|
<?php
|
|
|
|
|
|
2023-08-20 19:51:45 +08:00
|
|
|
use SPC\ConsoleApplication;
|
|
|
|
|
use SPC\exception\ExceptionHandler;
|
|
|
|
|
|
2025-03-09 20:30:22 +08:00
|
|
|
// Load custom php if exists
|
|
|
|
|
if (PHP_OS_FAMILY !== 'Windows' && PHP_BINARY !== (__DIR__ . '/php') && file_exists(__DIR__ . '/php') && is_executable(__DIR__ . '/php')) {
|
|
|
|
|
pcntl_exec(__DIR__ . '/php', $argv);
|
|
|
|
|
}
|
|
|
|
|
|
2023-12-24 14:43:47 +08:00
|
|
|
if (file_exists(dirname(__DIR__) . '/vendor/autoload.php')) {
|
|
|
|
|
// Current: ./bin (git/project mode)
|
|
|
|
|
require_once dirname(__DIR__) . '/vendor/autoload.php';
|
|
|
|
|
} else {
|
|
|
|
|
// Current: ./vendor/crazywhalecc/static-php-cli/bin (composer library mode)
|
|
|
|
|
require_once dirname(__DIR__, 3) . '/autoload.php';
|
|
|
|
|
}
|
2023-03-18 17:32:21 +08:00
|
|
|
|
|
|
|
|
// 防止 Micro 打包状态下不支持中文的显示(虽然这个项目目前好像没输出过中文?)
|
|
|
|
|
if (PHP_OS_FAMILY === 'Windows' && Phar::running()) {
|
|
|
|
|
exec('CHCP 65001');
|
|
|
|
|
}
|
|
|
|
|
|
2025-03-07 18:06:32 +08:00
|
|
|
// Print deprecation notice on PHP < 8.4, use red and highlight background
|
|
|
|
|
if (PHP_VERSION_ID < 80400) {
|
|
|
|
|
echo "\e[43mDeprecation Notice: PHP < 8.4 is deprecated, please upgrade your PHP version.\e[0m\n";
|
|
|
|
|
}
|
|
|
|
|
|
2023-03-18 17:32:21 +08:00
|
|
|
try {
|
2023-08-20 19:51:45 +08:00
|
|
|
(new ConsoleApplication())->run();
|
2023-03-18 17:32:21 +08:00
|
|
|
} catch (Exception $e) {
|
2023-08-20 19:51:45 +08:00
|
|
|
ExceptionHandler::getInstance()->handle($e);
|
2024-01-10 21:08:25 +08:00
|
|
|
exit(1);
|
2023-03-18 17:32:21 +08:00
|
|
|
}
|