Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ucloud配置后无法获取链接 #4

Closed
singworld opened this issue Apr 9, 2019 · 13 comments
Closed

ucloud配置后无法获取链接 #4

singworld opened this issue Apr 9, 2019 · 13 comments

Comments

@singworld
Copy link

其他云都配置成功了,ucloud如下配置 获取链接粘贴板会清空 什么都没有也不报错

			//Ucloud
			'ucloud' => [
				'publicKey' => '*******5VPrDQ9*******',
				'privateKey' => '******7EfxuhGe*******',
				//markdown-blog.cn-gd.ufileos.com
				'proxySuffix' => '.cn-bj.ufileos.com',
				'bucket' => 'bjmarkdown',
				//endPoint,cdn加速域名是bucket名+endPoint组成,Ucloud中没有endPoint的说法,
				//但其实这就是endPoint,这个值请自己复制cdn加速域名除去bucket名部分到这里(不包含英文句点)
				'endPoint' => 'ufile.ucloud.com.cn',
				//如果不写,则自动拼装Ucloud给的域名
				'domain' => '',
			],

'storageType' => 'tencent,qiniu,upyun,qingcloud,ucloud',

@xiebruce
Copy link
Owner

xiebruce commented Apr 9, 2019

代码是最新的吗?如果不是,尝试更新到最新,或者看看logs目录下有没有类似2019-04-09-error-log.txt这样的文件,有的话,打开看看里面是什么

@singworld
Copy link
Author

@xiebruce 4月6号的 应该是最新的吧

@singworld
Copy link
Author

@xiebruce 有这个文件

UCloud_Error::__set_state(array(
   'Code' => 400,
   'ErrRet' => 0,
   'ErrMsg' => 'invalid etag count',
   'SessionId' => NULL,
))

@xiebruce
Copy link
Owner

xiebruce commented Apr 9, 2019

我这里是没有问题的,你调试一下这个文件uploader/UploadUcloud.php,看看日志中的报错,是这三部分中的哪部分:
image

代码改成这样:

//初始化分片上传,获取本地上传的uploadId和分片大小
list($data, $err) = UCloud_MInit($this->bucket, $key);
if ($err) {
	$this->writeLog('UCloud_MInit: '.var_export($err, true)."\n", 'error_log');
	exit;
}

//数据上传
list($etagList, $err) = UCloud_MUpload($this->bucket, $key, $uploadFilePath, $data['UploadId'], $data['BlkSize']);
if ($err) {
	$this->writeLog('UCloud_MUpload: '.var_export($err, true)."\n", 'error_log');
	exit;
}

//上传p完成
list($data, $err) = UCloud_MFinish($this->bucket, $key, $data['UploadId'], $etagList);
if ($err) {
	$this->writeLog('UCloud_MFinish: '.var_export($err, true)."\n", 'error_log');
	exit;
}

@singworld
Copy link
Author

@xiebruce 上传完成这块
UCloud_MFinish: UCloud_Error::__set_state(array(

@xiebruce
Copy link
Owner

xiebruce commented Apr 9, 2019

@singworld 我试了一下直接下载github上的代码来测试,ucloud没有问题,不知道你那边为什么会出现问题,而且是在最后一步,如果说publickey和secretkey有问题,那在第一步应该就会出问题,你把代码改成这样:

//初始化分片上传,获取本地上传的uploadId和分片大小
list($data, $err) = UCloud_MInit($this->bucket, $key);
$this->writeLog('UCloud_MInit: '.var_export($data, true)."\n", 'error_log');
if ($err) {
	$this->writeLog('UCloud_MInit: '.var_export($err, true)."\n", 'error_log');
	exit;
}

//数据上传
list($etagList, $err) = UCloud_MUpload($this->bucket, $key, $uploadFilePath, $data['UploadId'], $data['BlkSize']);
$this->writeLog('UCloud_MUpload: '.var_export($etagList, true)."\n", 'error_log');
if ($err) {
	$this->writeLog('UCloud_MUpload: '.var_export($err, true)."\n", 'error_log');
	exit;
}

//上传p完成
list($data, $err) = UCloud_MFinish($this->bucket, $key, $data['UploadId'], $etagList);
$this->writeLog('UCloud_MFinish: '.var_export($data, true)."\n", 'error_log');
if ($err) {
	$this->writeLog('UCloud_MFinish: '.var_export($err, true)."\n", 'error_log');
	exit;
}

把log文件删除,再上传一遍,然后看看log的内容

@singworld
Copy link
Author

UCloud_MInit: NULL
UCloud_MInit: UCloud_Error::__set_state(array(
   'Code' => 0,
   'ErrRet' => 28,
   'ErrMsg' => 'Resolving timed out after 10003 milliseconds',
   'SessionId' => NULL,
))

我有点不确定我这两个参数配置的是不是对对

				'proxySuffix' => '.cn-bj.ufileos.com',
				'endPoint' => 'ufile.ucloud.com.cn',

@xiebruce
Copy link
Owner

xiebruce commented Apr 9, 2019

@singworld 你这第一步就出问题了,并不是第三步出的问题,你刚才说第三步我觉得奇怪,你现在肯定是参数问题,endPoint是固定这个值肯定是对的,proxySuffix 你看你是哪个区域的?应该是这个问题了:
image

它就只有cn-后面两个字母不同,bj(北京)、gd(广东)、sh2(上海2)

@singworld
Copy link
Author

@xiebruce 我的区域是北京 存储空间域名是这个bjmarkdown.cn-bj.ufileos.com
现在的'proxySuffix' => '.cn-bj.ufileos.com',是这个
也试过这个'proxySuffix' => 'bjmarkdown.cn-bj.ufileos.com',
这两个都不行
请问这个参数应该怎么填

@xiebruce
Copy link
Owner

xiebruce commented Apr 9, 2019

这是我的:

//Ucloud
'ucloud' => [
    'publicKey' => '****************',
    'privateKey' => '****************',
    //markdown-blog.cn-gd.ufileos.com
    'proxySuffix' => '.cn-gd.ufileos.com',
    'bucket' => 'markdown-blog',
    //endPoint,cdn加速域名是bucket名+endPoint组成,Ucloud中没有endPoint的说法,
    //但其实这就是endPoint,这个值请自己复制cdn加速域名除去bucket名部分到这里(不包含英文句点)
    'endPoint' => 'ufile.ucloud.com.cn',
    //domain可以不配置,如果不配置,将默认使用ucloud自己的domain(不需要设置,由bucket+.+endPoint连接而成)
    //拼装后的域名:http://markdown-blog.ufile.ucloud.com.cn
    'domain' => 'https://img.xiebruce.top',
    //自定义目录格式:2019/03/31
    // 'directory' => date('Y/m/d/'),
    //自定义目录格式:images/2019/03/31
    // 'directory' => 'images/' . date('Y/m/d/'),
    //自定义目录格式:images/Travel/2019/03/31
    // 'directory' => 'images/Travel/' . date('Y/m/d/'),
    //自定义目录格式:images/Travel/Maldives
    // 'directory' => 'images/Travel/Maldives',
],

image

@xiebruce
Copy link
Owner

xiebruce commented Apr 9, 2019

@singworld 你存储空间域名是bjmarkdown.cn-bj.ufileos.com的话,那proxySubffix就是.cn-bj.ufileos.com,你填这个不行的话,那有可能是publicKeyprivateKey有问题,你重新复制一下试试。

@singworld
Copy link
Author

@xiebruce 忽然直接好了 好像也没有改动 /扶额 感谢大佬

@xiebruce
Copy link
Owner

xiebruce commented Apr 9, 2019

@singworld 不客气,好了就好!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants