Closed singworld closed 5 years ago
代码是最新的吗?如果不是,尝试更新到最新,或者看看logs
目录下有没有类似2019-04-09-error-log.txt
这样的文件,有的话,打开看看里面是什么
@xiebruce 4月6号的 应该是最新的吧
@xiebruce 有这个文件
UCloud_Error::__set_state(array(
'Code' => 400,
'ErrRet' => 0,
'ErrMsg' => 'invalid etag count',
'SessionId' => NULL,
))
我这里是没有问题的,你调试一下这个文件uploader/UploadUcloud.php
,看看日志中的报错,是这三部分中的哪部分:
代码改成这样:
//初始化分片上传,获取本地上传的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;
}
@xiebruce 上传完成这块
UCloud_MFinish: UCloud_Error::__set_state(array(
@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的内容
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',
@singworld 你这第一步就出问题了,并不是第三步出的问题,你刚才说第三步我觉得奇怪,你现在肯定是参数问题,endPoint
是固定这个值肯定是对的,proxySuffix
你看你是哪个区域的?应该是这个问题了:
它就只有cn-
后面两个字母不同,bj(北京)、gd(广东)、sh2(上海2)
@xiebruce 我的区域是北京 存储空间域名是这个bjmarkdown.cn-bj.ufileos.com 现在的'proxySuffix' => '.cn-bj.ufileos.com',是这个 也试过这个'proxySuffix' => 'bjmarkdown.cn-bj.ufileos.com', 这两个都不行 请问这个参数应该怎么填
这是我的:
//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',
],
@singworld 你存储空间域名是bjmarkdown.cn-bj.ufileos.com
的话,那proxySubffix
就是.cn-bj.ufileos.com
,你填这个不行的话,那有可能是publicKey
和privateKey
有问题,你重新复制一下试试。
@xiebruce 忽然直接好了 好像也没有改动 /扶额 感谢大佬
@singworld 不客气,好了就好!
其他云都配置成功了,ucloud如下配置 获取链接粘贴板会清空 什么都没有也不报错
'storageType' => 'tencent,qiniu,upyun,qingcloud,ucloud',