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

我在Termux部署了一套正常的代码,源码见https://github.com/yuantuo666/baiduwp-php 。但是在安卓13上却始终无法登录管理后台。测试同样环境Typecho博客系统和Z-Blog(需要关csrf保护)能正常登录使用,把所有配置文件和源码原封不动复制到鸿蒙2.0上也能用。这是什么原因,能否解决(Root除外,容器Linux除外,Qemu除外)? 反馈到上面链接那个项目上,说是疑似Session的问题。我确实找不到session存储目录。不过typecho能正常登上,怪了。Z-Blog登录上是马上提示没有权限,但是不做任何操作下,5秒后直接刷新就恢复正常了。 任何基于Laravel和ThinkPHP的后端类全部无法登录。Laravel好一点,能成功登录,不过登录一秒就过期。ThinkPHP一秒都登不上! 尝试修改Session存储路径,无效。 如果能解决的话,麻烦发个解决办法。 谢谢大佬受累了。 系统内核版本:(系统确实是安卓13不是安卓12) ``` Linux localhost 5.10.149-android12-9-g3e52debca1cf-dirty #1 SMP PREEMPT Wed Sep 27 04:17:39 UTC 2023 aarch64 Android ``` 系统:OriginOS 3 Termux版本:118.0 (TargetSDK 28) PHP版本:8.2.8...

这边貌似漏了个错误8 https://www.php.net/manual/en/features.file-upload.errors.php 多语言也得加上

比如说我有两个表,一个是产品(product),一个是规格(spec),两个表都关联了品牌,系列和规格也是上下级的关联关系。 然后我在查产品的时候可以通过 product::width(['spec','brand']) 查出规格和品牌数据,但是规格是通过with查出来的,不知道怎么再把品牌数据with出来。

添加红色部分function代码就报错,不添加的话程序正常,请教大神!

比方说DB::name() 只能手打 手打还会提示 Non-static method 'name' should not be called statically, but the class has the '__magic' method.

ORM

PHP环境:PHP Version 8.1.7 框架版本:ThinkPHP 8.0 出现的异常: 1、多应用模式下,在全局配置中开启多语言,在全局中间件文件中添加了语言包的中间件定义。然后在页面传入lang=en测试发现多语言切换无效。检查cookie发现cookie值已写入 en-us,但是使用lang输出的还是中文。检查多次语言包你让和lang.php配置都正常。 2、然后我尝试将中间件中的语言包定义,移到单个应用中的中间件文件中定义。发现又正常了。然后我尝试将全局配置lang.php放到多应用的应用中配置中。发现应用配置的lang.php不会生效。语言包的cookie名称等还是使用全局文件的。 3、后面找到一篇类似问题的反馈:https://blog.csdn.net/qq_24118445/article/details/132461009 ,于是我尝试将 \vendor\topthink\framework\src\think\App.php 中的 $this->loadLangPack(); 注释,再返回测试。发现一切都正常了。多应用中应用配置生效了,语言包也正常切换了。

// 执行HTTP应用并响应 $request = new app\common\Request(); $http = (new App())->http; $response = $http->run($request); $response->send(); $http->end($response); 自定义Request类,在中间件 public function handle(Request $request, \Closure $next): Response { $request->header(); // 获取不到任何信息 }

Request

middleware.php 中开启 \think\middleware\SessionInit::class后出现session_create_id(): Failed to create new ID php7.4及以下版本会报错,8.0正常

date_parse_from_format这个函数 验证m-d H:i 没有前导零 也能通过,这个函数不好用

在middleware中执行$request->param()后,后续在controller中执行dump($request->param())会导致"s" => "/ab/123"进入入参数组. ``` //middleware伪代码 public function handle(Request $request, Closure $next): mixed { $request->param(); } //controller伪代码 public function index(Request $request) { dump($request->param());//输出array中会多出s参数 } ``` 在将中间件定义到config/router.php(路由中间件)中解析执行正常,以上情况仅在middleware.php(全局中间件)中定义会发生.