When upgrading a container in Rancher, an error is reported: channel_pub_api_cfg_app_avatar_upload_path: analysis solution for unbound variable
1. When upgrading the container in Rancher, an error is reported: channel_pub_api_cfg_app_avatar_upload_path: unbound variable. as shown in Figure 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. View the file: /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. Even in Rancher Add environment variables: channel_pub_api_cfg_app_avatar_upload_path_url, channel_pub_api_cfg_app_avatar_upload_path . The same error is still reported. as shown in Figure 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. Assign the environment variable in Rancher: channel_pub_api_cfg_app_avatar_upload_path A specific value. The upgrade was successful.
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. Suspect is related to the particularity of the name of the environment variable. Edit the configuration file of the environment variable to be replaced, and delete the corresponding environment variable. Edit file: /config/init/config0.sh, delete the corresponding environment variable: channel_pub_api_cfg_app_a VATAR_UPLOAD_PATH_URL, CHANNEL_PUB_API_CFG_APP_AVATAR_UPLOAD_PATH.
Before adjustment:
// 渠道发布接口
'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'];
After adjustment:
// 渠道发布接口
'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. In Rancher Delete environment variables: channel_pub_api_cfg_app_avatar_upload_path_url, channel_pub_api_cfg_app_avatar_upload_path. The upgrade was successful. Go to the container and view the replaced configuration file. as shown in Figure 3


