企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
NiushopV5采用**单一入口模式**进行项目部署和访问,一个应用都有一个统一(但不一定是唯一)的入口。 ## 入口文件定义 默认的应用入口文件位于`index.php`,在没有安装情况下执行`install.php`,默认内容如下: ~~~ // [ 应用入口文件 ] namespace think; if (version_compare(PHP_VERSION, '7.4.0', '<')) die('require PHP > 7.4.0 !'); // 检测PHP环境 允许前端跨域请求 header("Access-Control-Allow-Origin:*"); // 响应类型 header('Access-Control-Allow-Methods:GET, POST, PUT, DELETE'); // 响应头设置 header('Access-Control-Allow-Headers:x-requested-with, content-type'); if (!file_exists('./install.lock')) { header('location: ./install.php'); exit(); } $query_string = substr($_SERVER["QUERY_STRING"], -3); $array = [ 'jpg', 'png', 'css', '.js', 'txt', 'doc', 'ocx', 'peg' ]; if (in_array($query_string, $array)) { exit(); } require __DIR__ . '/vendor/autoload.php'; // 执行HTTP应用并响应 $http = (new App())->http; $response = $http->run(); $response->send(); $http->end($response); ~~~ ## 控制台入口文件 除了应用入口文件外,系统还提供了一个控制台入口文件,位于项目根目录的`think`(注意该文件没有任何的后缀)。 该入口文件代码如下: ~~~ #!/usr/bin/env php <?php namespace think; // 加载基础文件 require __DIR__ . '/vendor/autoload.php'; // 应用初始化 (new App())->console->run(); ~~~ 控制台入口文件用于执行控制台指令,例如: ~~~ php think version ~~~ > 系统内置了一些常用的控制台指令,如果你安装了额外的扩展,也会增加相应的控制台指令,都是通过该入口文件执行的。