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

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日