1、在 Rancher 中升级容器时,报错:CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH: unbound variable。如图1

2020/10/10 上午10:53:15 CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH_URL replace CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH_URL -> /mcloud/www/channel-pub-api/environments/dev/common/config/params-local.php
2020/10/10 上午10:53:15 /config/init/config0.sh: line 1193: CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH: unbound variable
2、查看文件:/config/init/config0.sh。
env | grep "CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH_URL" || export CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH_URL="CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH_URL"
env | grep "CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH" || export CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH="CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH"
sed -i "s#CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH_URL#$CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH_URL#g" $DEV_COMMON_CONFIG_PARAMS_LOCAL_PATH
echo "CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH_URL replace $CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH_URL -> $DEV_COMMON_CONFIG_PARAMS_LOCAL_PATH"
echo "CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH_URL replace $CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH_URL -> $DEV_COMMON_CONFIG_PARAMS_LOCAL_PATH" >> $DIR/change.log
sed -i "s#CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH#$CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH#g" $DEV_COMMON_CONFIG_PARAMS_LOCAL_PATH
echo "CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH replace $CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH -> $DEV_COMMON_CONFIG_PARAMS_LOCAL_PATH"
echo "CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH replace $CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH -> $DEV_COMMON_CONFIG_PARAMS_LOCAL_PATH" >> $DIR/change.log
3、即使在 Rancher 中添加环境变量:CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH_URL、CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH 。仍然报同样的错误。如图2

CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH_URL=CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH_URL
CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH=CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH
4、在 Rancher 中赋值环境变量:CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH 一个具体的值。升级成功。
CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH_URL=CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH_URL
CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH=/webtv/wangjiedev/channel-pub-api/uploads
5、怀疑与环境变量名称的特殊性有关。编辑待替换环境变量的配置文件,删除相应的环境变量。编辑文件:/config/init/config0.sh,删除相应的环境变量:CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH_URL、CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH。
调整前:
// 渠道发布接口
'channelPubApi' => [
'hostInfo' => 'CHANNEL_PUB_API_CFG_CHANNEL_PUB_API_HOST_INFO', // HOME URL
'baseUrl' => 'CHANNEL_PUB_API_CFG_CHANNEL_PUB_API_BASE_URL', // BASE URL
'asset' => [ // 资源
'hostInfo' => 'CHANNEL_PUB_API_CFG_CHANNEL_PUB_API_ASSET_HOST_INFO', // HOME URL
'baseUrl' => 'CHANNEL_PUB_API_CFG_CHANNEL_PUB_API_ASSET_BASE_URL', // BASE URL
'basePath' => 'CHANNEL_PUB_API_CFG_CHANNEL_PUB_API_ASSET_BASE_PATH', // BASE PATH
'image' => [ // 图片
'basePath' => 'CHANNEL_PUB_API_CFG_CHANNEL_PUB_API_ASSET_IMAGE_BASE_PATH', // BASE PATH
],
'video' => [ // 视频
'basePath' => 'CHANNEL_PUB_API_CFG_CHANNEL_PUB_API_ASSET_VIDEO_BASE_PATH', // BASE PATH
],
'audio' => [ // 音频
'basePath' => 'CHANNEL_PUB_API_CFG_CHANNEL_PUB_API_ASSET_AUDIO_BASE_PATH', // BASE PATH
],
'other' => [ // 其它
'basePath' => 'CHANNEL_PUB_API_CFG_CHANNEL_PUB_API_ASSET_OTHER_BASE_PATH', // BASE PATH
],
],
],
//文件上传目录配置
'appAvatarUpload' => [
'pathUrl' => 'CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH_URL',//上传目录的访问地址,结尾不加/
'uploadPath' => 'CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH',//上传目录,结尾不加/
],
$pathUrl = Yii::$app->params['appAvatarUpload']['pathUrl'];
$uploadPath = Yii::$app->params['appAvatarUpload']['uploadPath'];
调整后:
// 渠道发布接口
'channelPubApi' => [
'hostInfo' => 'CHANNEL_PUB_API_CFG_CHANNEL_PUB_API_HOST_INFO', // HOME URL
'baseUrl' => 'CHANNEL_PUB_API_CFG_CHANNEL_PUB_API_BASE_URL', // BASE URL
'asset' => [ // 资源
'hostInfo' => 'CHANNEL_PUB_API_CFG_CHANNEL_PUB_API_ASSET_HOST_INFO', // HOME URL
'baseUrl' => 'CHANNEL_PUB_API_CFG_CHANNEL_PUB_API_ASSET_BASE_URL', // BASE URL
'basePath' => 'CHANNEL_PUB_API_CFG_CHANNEL_PUB_API_ASSET_BASE_PATH', // BASE PATH
'image' => [ // 图片
'basePath' => 'CHANNEL_PUB_API_CFG_CHANNEL_PUB_API_ASSET_BASE_PATH/images', // BASE PATH
],
'video' => [ // 视频
'basePath' => 'CHANNEL_PUB_API_CFG_CHANNEL_PUB_API_ASSET_BASE_PATH/videos', // BASE PATH
],
'audio' => [ // 音频
'basePath' => 'CHANNEL_PUB_API_CFG_CHANNEL_PUB_API_ASSET_BASE_PATH/audios', // BASE PATH
],
'other' => [ // 其它
'basePath' => 'CHANNEL_PUB_API_CFG_CHANNEL_PUB_API_ASSET_BASE_PATH/others', // BASE PATH
],
],
],
$pathUrl = Yii::$app->params['channelPubApi']['asset']['image']['hostInfo'] . ['channelPubApi']['asset']['image']['baseUrl'];
$uploadPath = Yii::$app->params['channelPubApi']['asset']['image']['basePath'];
6、在 Rancher 中删除环境变量:CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH_URL、CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH。升级成功。进入容器,查看替换后的配置文件。如图3

Linux 服务器运维、部署与线上故障排查
如果你的网站或后端服务部署在 Linux 服务器上,遇到访问异常、Nginx 配置问题、MySQL / Redis 异常、Docker 服务不可用、磁盘占满、CPU / 内存过高等问题,可以联系我做一次远程排查。
适合以下场景:
✅ 网站打不开或访问不稳定
✅ Nginx / PHP-FPM 配置异常
✅ MySQL / Redis 性能或连接问题
✅ Docker 服务部署与维护
✅ 服务器迁移与环境配置
✅ CPU / 内存 / 磁盘异常排查
服务内容:
✅ Linux 环境检查
✅ 网站部署与迁移
✅ Nginx / PHP-FPM / MySQL / Redis 排查
✅ Docker 配置与维护
✅ 服务器性能分析
✅ 长期远程运维支持
如需咨询,请联系我,并注明:Linux 运维咨询。
联系方式:
Telegram:@shuijingwan
微信:13980074657
邮箱:shuijingwanwq@gmail.com
