新版框架默认不再支持改变应用目录(application)和入口文件位置,如果你需要更改,需要自己重新定义入口文件。
下面是一个例子(把入口文件放到应用根目录,并且更改应用目录名称为app):
<?php namespace think; // 定义应用目录 define('APP_PATH', __DIR__ . '/app/'); // 加载框架基础引导文件 require __DIR__ . '/thinkphp/base.php'; // 添加额外的代码 // ... // 执行应用并响应 Container::get('app', [APP_PATH])->run()->send();
如果是V5.1.2+版本,上面的最后一行代码可以使用下面的替代:
Container::get('app')->path(APP_PATH)->run()->send();
更改应用目录名称和位置可能导致默认的命令行操作失效,你需要同步自定义根目录下面的think文件。
总结:
一、把public目录下的所有文件复制到public目录外。
二、修改index.php文件内容如上面内容,如果是5.1.2版本以上的,需要替换成以下代码
Container::get('app', [APP_PATH])->run()->send();
改成
Container::get('app')->path(APP_PATH)->run()->send();
三、把根目录下的application目录改为app