yii2框架有偿解决问题,验证码接口的报错的问题

报错信息如下

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

已解决在宝塔里删除putenv函数重启nginx和php

1年前 评论
bing 1年前
荭尘宝宝 (作者) (楼主) 1年前
讨论数量: 31
  • 这不是 redis 配置没有读到吗?
  • 为啥 .env 配置用的 common_redis_host ,但是 Redis 单例获取的时候,读取的 redis['redisServer']['im']
1年前 评论
荭尘宝宝 (楼主) 1年前

:see_no_evil: 可以把你的config文件贴出来,而不是env 文件。 一眼看到的就是 host 没读取到。

1年前 评论
荭尘宝宝 (楼主) 1年前

问题就是没获取到配置。yii自带好像没有env函数,是你自己封装还是第三方包

1年前 评论
荭尘宝宝 (楼主) 1年前
荭尘宝宝 (楼主) 1年前
AloneUtopia

打印一下整个params

1年前 评论

composer 了吗?如果没有 composer install 下。

1年前 评论
荭尘宝宝 (楼主) 1年前

通过报错和你打印的 params 配置来看,应该就是 redis 配置信息没有取到的问题。

根据你的描述,本地可以,宝塔不行,需要判断一下两边的代码是否完全一致。这里我看你 paramshost 已经写死了但打印信息还是 false,这里定位下代码有没有走你发的这个 params 文件,或者看看是不是先从缓存中取的配置信息。

1年前 评论
快乐的皮拉夫 (作者) 1年前
荭尘宝宝 (楼主) 1年前
  1. 请确认是否有 yiithings/yii2-dotenv 这个依赖且处于安装成功的状态,可以使用 composer why yiithings/yii2-dotenv 来验证
  2. 请确认你项目的入口文件中是否存在如下代码,命令行入口文件是项目目录下的 yii 可执行文件,web 入口在 项目 web 目录下的 index.php,请按照自己的项目路径调整如下代码。
    define('DOTENV_PATH', __DIR__ . '/');
    define('DOTENV_FILE', '.env');
    define('DOTENV_OVERLOAD', false);
1年前 评论
固的 1年前
Randys 1年前

我斗胆猜测,是执行先后性问题,也就是说env的执行,要优先执行

1年前 评论

在安装了yiithings/yii2-dotenv包之后无法读取.env文件,可能有几个原因导致这个问题:

  1. 确保.env文件存在:首先,请确保您的宝塔项目根目录下存在.env文件,并且文件名没有拼写错误。可以使用命令行或文件管理器确认文件是否存在。

  2. 检查.env文件路径:默认情况下,yiithings/yii2-dotenv会尝试从Yii2应用程序的根目录加载.env文件。如果您的.env文件位于其他位置,您需要在应用程序配置中指定正确的路径。例如,在config/web.phpconfig/console.php文件中添加以下代码:

    'components' => [
        // ...
        'dotenv' => [
            'class' => 'yiithings\dotenv\DotEnv',
            'path' => '/path/to/.env', // 替换为你实际的宝塔中.env文件路径
        ],
        // ...
    ],
  3. 检查.env文件格式:确保.env文件的格式正确,每行都是以KEY=VALUE的形式定义环境变量。同时,确保没有注释或空行干扰解析过程。

  4. 清除缓存:如果您之前已经运行过应用程序,尝试清除Yii2的缓存。

    php yii cache/flush-all

    或者手动删除runtime目录下的缓存文件。

  5. 检查依赖包版本:确保您使用的yiithings/yii2-dotenv包与Yii2框架和其他依赖包兼容。可以尝试更新或回滚该包的版本,以解决可能存在的兼容性问题。

1年前 评论

还有没有大佬能解决以上问题他们说的我都尝试了不行有的私信我发微信

1年前 评论
luyang 1年前
陈先生 1年前
zeng-start 1年前
荭尘宝宝 (作者) (楼主) 1年前
陈先生 1年前
CodingHePing

断点调试呗

1年前 评论
荭尘宝宝 (楼主) 1年前

插个题外话 不知道你上面图中给出的数据库配置是真实还是假的 如果是真实的 赶紧把那个图删掉并修改下数据库密码吧 :expressionless:

1年前 评论

已解决在宝塔里删除putenv函数重启nginx和php

1年前 评论
bing 1年前
荭尘宝宝 (作者) (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!