PHP Fatal error: During inheritance of ArrayAccess: Uncaught ErrorException: Return type of think\Container::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /www/wwwroot/webman/vendor/topthink/think-container/src/Container.php:567
7.4妥当
新项目想用新环境
think-container可以移除吗 会影响TP-ORM吗
可以移除,TP-ORM不依赖与think-container
谢谢大佬,刚看了下think-cache依赖think-container
我这边用的8.1.1是没问题的
我本地环境8.1.4 测试TP-ORM同样报错
composer info 看看版本号是多少
我这边是
topthink/think-orm v2.0.53 think orm
topthink/think-helper v3.1.6 The ThinkPHP6 Helper Package
topthink/think-orm v2.0.12 think orm
webman/think-orm v1.0.1
workerman/webman-framework v1.3.9 High performance HTTP Service Framework.
我这边composer update已经是最新的了
这就是不喜欢composer的地方,把祖祖孙孙全部拉下来了。没办法!~
所有的包管理都一样,最起码比node好一点,那个是真心的大
thinkphp-container 不兼容 php8.1 导致的
解决方法,打开
\vendor\topthink\think-container\src\Container.php
,搜索offsetExists($key)
改为offsetExists($key):bool
offsetSet($key, $value)
改为offsetSet($key, $value):void
offsetGet($key)
改为offsetGet($key):mixed
offsetUnset($key)
改为offsetUnset($key):void
getIterator()
改为getIterator():IteratorAggregate
count()
改为count():int
谢谢大佬,我试试
感谢大佬
他这个不是 orm的问题,是 安装think-cache 时需要使用think-container ,这个 contrainer里的几个写法没有设置返回类型
所以让他卸载这个依赖包,单独安装就没问题了