ThinkPHP6.0默认不支持直接命令行模式访问index应用下index控制器index方法以外的其他应用、控制器、方法,具体原因暂时没有搞清楚。网上找到一个简单的解决办法,希望对需要的朋友有所帮助!
Thinkphp6是你自己的项目路径
Thinkphp6\app\index\controller\Index.php文件代码
<?php
namespace app\index\controller;
use app\BaseController;
class Index extends BaseController
{
public function index()
{
return 'Index';
}
public function hello($name = '我是Index')
{
return 'hello,' . $name;
}
}
Thinkphp6\app\index\controller\Index.php文件代码
<?php
namespace app\admin\controller;
use app\BaseController;
class Index extends BaseController
{
public function index()
{
return 'Admin';
}
public function hello($name = '我是Admin')
{
return 'hello,' . $name;
}
}
命令行执行控制器下的方法结果,只有第一个结果是正确的,其他执行结果完全不对。
修改方法:
1.先找到request.php文件,目录位置是Thinkphp6\vendor\topthink\framework\src\think\Request.php
2.修改request.php文件614行,不同版本文件位置可能不太一样。注释原来的代码,使用新的_SERVER['argv'][1]) ? $_SERVER['argv'][1] : '';
接下来查看修改后的执行结果
完整项目附件:点此下载