Kami_聖 2024-01-29 15:12 采纳率: 0%
浏览 4

php8.0升级后图片裂开

PHP由7.4升级到8.0后,后台管理界面图片全部变成了裂开的图标,点击“点击查看原图”后提示“非法操作:[value]””,错误位置路径是thinkphp目录下的170行, 请问应该怎样修改。

img

img

   public function __call($method,$args) {
        if( 0 === strcasecmp($method,ACTION_NAME.C('ACTION_SUFFIX'))) {
            if(method_exists($this,'_empty')) {
                // 如果定义了_empty操作 则调用
                $this->_empty($method,$args);
            }elseif(file_exists_case($this->view->parseTemplate())){
                // 检查是否存在默认模版 如果有直接输出模版
                $this->display();
            }else{
                E(L('_ERROR_ACTION_').':'.ACTION_NAME.'('.$method.'=='.$args.')');  //第170行内容
            }
        }else{
            E(__CLASS__.':'.$method.L('_METHOD_NOT_EXIST_'));
            return;
        }

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-01-29 15:14
    关注

    引自免费微信小程序:皆我百晓生

    根据您提供的信息,错误发生在thinkphp目录下的第170行。经过分析,可能的原因有以下几个:

    1. 代码适配问题:PHP 8.0版本对于某些代码的执行方式有所改变,可能导致某些原本正常工作的代码在升级后出现问题。您可以尝试修改相关代码适配PHP 8.0版本。

    2. 依赖包问题:PHP 8.0版本可能会导致与您的项目相关的依赖包不兼容,导致出现错误。您可以尝试更新或替换相关依赖包,以解决此问题。

    3. 框架兼容性问题:如果您使用的是ThinkPHP框架,请确保您使用的框架版本与PHP 8.0兼容。您可以查看ThinkPHP官方文档或联系框架开发者,了解框架对于PHP 8.0的支持情况,并根据需要进行升级或修改。

    根据抛出的异常信息,可能的一个解决方案是在170行内容中的E(L('_ERROR_ACTION_').':'.ACTION_NAME.'('.$method.'=='.$args.')');处进行以下修改:

    E(L('_ERROR_ACTION_').':'.ACTION_NAME.'('.print_r($args, true).')');
    

    这样可以将$args参数转换为字符串进行打印输出,以便更好地定位非法操作。您可以尝试进行修改并重新测试应用程序以验证是否解决了问题。

    如果以上方法不起作用,我建议您检查相关的错误日志,以获取更多详细的错误信息,以及在搜索引擎和开发者社区中寻求相关问题的解决方案。

    评论

报告相同问题?

问题事件

  • 创建了问题 1月29日

悬赏问题

  • ¥15 代码在keil5里变成了这样怎么办啊,文件图像也变了,
  • ¥20 Ue4.26打包win64bit报错,如何解决?(语言-c++)
  • ¥15 clousx6整点报时指令怎么写
  • ¥30 远程帮我安装软件及库文件
  • ¥15 关于#自动化#的问题:如何通过电脑控制多相机同步拍照或摄影(相机或者摄影模组数量大于60),并将所有采集的照片或视频以一定编码规则存放至规定电脑文件夹内
  • ¥20 深信服vpn-2050这台设备如何配置才能成功联网?
  • ¥15 Arduino的wifi连接,如何关闭低功耗模式?
  • ¥15 Android studio 无法定位adb是什么问题?
  • ¥15 C#连接不上服务器,
  • ¥15 angular项目错误