运行打包命令提示这个 为啥啊 没有升级 突然的
php -d phar.readonly=0 ./webman build:phar
PHP Fatal error: Declaration of Webman\Http\Request::file($name = null) must be compatible with Workerman\Protocols\Http\Request::file(?string $name = null): mixed in /opt/www/vendor/workerman/webman-framework/src/Http/Request.php on line 119
升级下
老大 执行这两个命令打包时还是报这个错误
然后重新打包
以后不要用阿里云的composer镜像了,他们的镜像不是最新的,容易出问题
是的 执行后后 重新执行打包的
之前是阿里云的 按照上面更换还是还是报这个错误的
composer info | grep workerman
老大 截图放上面了
composer global config --unset repos.packagist
composer require workerman/webman-framework ^1.6.6 -W
结果截图下
老大 截图了 第一个执行没问题 第二个不行
把global 去掉,也就也是执行下
然后再执行
老大 还是不行 图在上面
https://www.workerman.net/q/13555
你服务器连不上composer官方源,你看这个帖子吧,用腾讯云的composer镜像
更新腾讯云了 还是有些问题 图在上面
应该是你哪个composer组件依赖了 calendar扩展,你本地php没有
现在可以打包了 代码没改但是又有新的报错了 图在上面
这个你自己找下问题吧,可能是少文件,可能是你设置排除文件设置错了,文件没打包进去
好的 谢谢 老大
老大 能帮忙看下嘛 我时新手 解决不了 被骂疯了
参考
https://github.com/webman-php/console/blob/main/src/config/plugin/webman/console/app.php
还原下配置再打包
还原下配置了 运行phar包还是报错
创建个空的新项目,打包试下
我这创建的新项目也不行
我们代码没动过 之前是可以的 今天重新打包就不行
换个电脑打包试下
这个电脑也有关系是吗,暂时没其他电脑啊
应该换一个电脑试试 如果打包没问题 ,你本地把build文件夹删除 在打包试试
截图下本地磁盘文件,证明下缺失的类文件确实存在
我晕 我仔细对比了确实没有 那是啥原因导致打包丢失的呀
而且丢失了很多文件
如果是磁盘上没这个文件,那打包后类自然找不到。和打包没什么关系
磁盘里有的 是phar包里没有
图在上面
src/Commands/BuildPharCommand.php
打包的逻辑在这个文件里,代码没多少,你可以自己定位下
本地跑 没问题 打完包有问题 这不科学 是不是打包的时候 你把什么重要的文件排除了?
打包配置在上面右截图,没有排除其他的呀
提示很清楚了,没有class而且你这个报错也不对呀 你是打包二进制 还是phar包?
phar包 错误我知道 但是问题时报时存在的 本地运行也没问题
你打完包 看看 phar里面是否有这个文件