framework icon indicating copy to clipboard operation
framework copied to clipboard

ThinkPHP Framework

Results 260 framework issues
Sort by recently updated
recently updated
newest added

think\Manager能否增加清空所有driver的方法,目前的`Cache::forgetDriver();`只能清空一个或指定驱动,有时候希望清空所有的已存在的驱动,以便重新加载驱动。 具体场景是,当在TP框架中,使用workerman多进程时,在开启多进程之前,就实例化了驱动,比如redis的驱动,开启多进程之后,将导致多个进程的redis连接出现并发问题。这个问题是确实存在的:比如https://www.workerman.net/q/7737 可以主动清空驱动: ![图片](https://user-images.githubusercontent.com/31880431/216627140-7a6dfe47-e865-4604-b3de-8c5774ad9ae6.png) 我想问的是,能不能做一个清空所有驱动的方法,比如`forgetAllDriver`, 另一个问题是,App有没有能力做一个清空所有驱动的方法,比如`App::resetAllDriver`,将所有的驱动,包括cache、db等,全部都清空。

http下可以`异常处理接管`,但是命令行模式下,执行命令,好像并没有任何接管是吧。 有吗?文档里好像没有,代码里好像也没有。

6.0更新日志里面好像写了对IDE的提示很友好。。。不知道vs code算不算IDE。。。

多应用模式下,中英文无法切换

看文档中请求信息,可以获取完整的url,但是没有找到获取完整的控制器名方法,通过$request->controller()方法获取的不太全,没有命名空间,不能使用反射进行解析,请问有知道如何获取的吗? 准备通过中间件获取完成的控制器名,方法名,然后通过注解(每个方法都通过注解写了当前方法对应的操作),进行操作日志的记录,如果有更好的方法也欢迎指导一下,非常感谢

TP版本:6.0.8 多应用: Admin和Index 在Index应用中用助手函数设置session,会在runtime\index\session中生成文件,这样Admin应用读不到。 tp6.0手册是这样写的: ``` 多应用情况下默认Session是跨应用的,也就是说多应用之间是共享会话数据的,如果不希望共享会话数据,可以给每个应用设置不同的前缀prefix。 如果是File类型的话,默认的session会话数据保存在runtime/session目录下面,你可以设置path改变存储路径。 ``` 在源码的session driver中,File文件中设置保存路径时,写法如下: ``` $this->config['path'] = $app->getRuntimePath() . 'session' . DIRECTORY_SEPARATOR; ``` 打印了一下 $app->getRuntimePath(),得到的结果确实是包含应用目录,而非单纯的“runtime”目录。所以造成的结果就是session在默认上是应用隔离的。 不知道这个现象是我这边操作有误,还是框架确实存在这个问题。

第一步:按手册生成事件类 php think make:event UserLogin 第二步: return [ 'bind' => [ 'UserLogin' => 'app\event\UserLogin', // 更多事件绑定 ], ]; 第三步 event('UserLogin'); 这样按tp6手册上的做了,不会触发这个事件类,为什么?是bug?

版本:6.1 同个域名下多个应用(不同框架结构),比如以下结构: www WEB部署目录(或者子目录) ├─app1 项目一(tp6应用) │ ├─app 应用目录 │ │ ├─app_name1 应用目录 │ │ ├─app_name2 应用2目录 │ ├─app2 项目二 │ ├─..... ├─public WEB目录 │ ├─app1 项目一静态入口 │ ├─app2 项目二静态入口...

### 所属功能组件 缓存(Cache) ### ThinkPHP 版本 8.0.3 ### 操作系统 Centos 7 ### 错误信息 #0 [0]ServerException in Client.php line 416 ERR wrong number of arguments for 'del' command ## Call Stack...

bug