Giter Site home page Giter Site logo

sy-records / sync-qcloud-cos Goto Github PK

View Code? Open in Web Editor NEW
143.0 6.0 19.0 1.46 MB

💾 使用腾讯云对象存储服务COS作为附件存储空间的WordPress插件。https://wordpress.org/plugins/sync-qcloud-cos/

Home Page: https://qq52o.me/2518.html

License: Apache License 2.0

PHP 100.00%
tencent-cos cos qcloud plugin wordpress-plugin

sync-qcloud-cos's People

Contributors

hhhguany avatar sy-records avatar y2nk4 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

sync-qcloud-cos's Issues

[Bug] 「不在本地保留备份」 功能不可用

「不在本地保留备份」 功能不可用
期望功能步骤:

  1. 用户上传图片(图片文件存到 /wp-content/uploads/{year}/{month} 目录下)
  2. 插件监视目录/wp-content/uploads/{year}/{month}有更新,上传到 COS
  3. 删除目录/wp-content/uploads/{year}/{month}下对应的图片文件(含各类大小的缩略图)
  4. 文章内插入的图片 URL 自动更新为 COS 的 URL(https://bucket-appid.cos.ap-xxx.myqcloud.com)

目前 Bug:
勾选「不在本地保留备份」后

  1. 图片文件依旧占用目录空间,并没有删除
  2. 文章内插入的图片 URL 并没有自动更新为 COS 的 URL

MIME Bug

感谢开源这个优秀的项目, 最近文件上传遇到下述问题:

image

Warning: Undefined array key "jpg|jpeg|jpe" in /var/www/html/wp-content/plugins/sync-qcloud-cos/sync-qcloud-cos.php on line 360 Warning: Undefined array key "gif" in /var/www/html/wp-content/plugins/sync-qcloud-cos/sync-qcloud-cos.php on line 361 Warning: Undefined array key "bmp" in /var/www/html/wp-content/plugins/sync-qcloud-cos/sync-qcloud-cos.php on line 363 Warning: Undefined array key "tiff|tif" in /var/www/html/wp-content/plugins/sync-qcloud-cos/sync-qcloud-cos.php on line 364 Warning: Undefined array key "webp" in /var/www/html/wp-content/plugins/sync-qcloud-cos/sync-qcloud-cos.php on line 365 Warning: Undefined array key "ico" in /var/www/html/wp-content/plugins/sync-qcloud-cos/sync-qcloud-cos.php on line 366 3401

我解决了这个问题:
modify$mime_types = get_allowed_mime_types(); to $mime_types = wp_get_mime_types();

图片极智压缩存在问题

目前的代码中,图片极智压缩/文档处理功能虽然在开启的开关处做了可用区的判断,但看样子似乎进入这个页面时会触发一次
$bucketname.$domain_type.myqcloud.com这个拼接,然后这个拼接会触发代码中的这段判断

        $domain_type = '.cos.';
        if ($action == 'PutBucketImageStyle' || $action == 'GetBucketImageStyle' || $action == 'DeleteBucketImageStyle'
            || $action == 'PutBucketGuetzli' || $action == 'GetBucketGuetzli' || $action == 'DeleteBucketGuetzli'
            || $action == 'BindCiService' || $action == 'GetCiService' || $action == 'UnBindCiService'
            || $action == 'GetHotLink' || $action == 'AddHotLink'
            || $action == 'OpenOriginProtect' || $action == 'GetOriginProtect' || $action == 'CloseOriginProtect'
            || $action == 'OpenImageSlim' || $action == 'GetImageSlim' || $action == 'CloseImageSlim' ) {
            $domain_type = '.pic.';
        }

当我选择的可用区为全球加速
于是乎链接就会变成$bucketname.pic.accelerate.myqcloud.com
但是这个拼接域名请求下来是没有解析的
image

那么此时极智压缩和文档处理这两个页面都是打不开的,且会触发致命错误

Fatal error: Uncaught GuzzleHttp\Exception\ConnectException: cURL error 6: Could not resolve: xxx-xxxxxxxxx.pic.accelerate.myqcloud.com (Domain name not found) 
Fatal error: Uncaught GuzzleHttp\Exception\ConnectException: cURL error 6: Could not resolve: ci.accelerate.myqcloud.com (Domain name not found) 

image

附我已安装并启用的插件列表

- Gmail SMTP 1.2.3.11 版本 | 作者:[naa986](https://wphowto.net/)
- IndexNow 1.0.1 版本 | 作者:[Microsoft Bing](https://www.bing.com/indexnow)
- Redis Object Cache 2.5.0 版本 | 作者:[Till Krüss](https://objectcache.pro/?ref=oss&utm_source=wp-plugin&utm_medium=author)
- Site Kit by Google 1.114.0 版本 | 作者:[Google](https://opensource.google.com/)
- Sync QCloud COS 2.3.5 版本 | 作者:[沈唁](https://qq52o.me/)
- XML 站点地图 & Google News 5.3.6 版本 | 作者:[RavanH](https://status301.net/)
- 超级缓存 1.11.0 版本 | 作者:[Automattic](https://automattic.com/)
----------------以下为已安装但未启用插件----------------------
- Comment Reply Email 1.0.5 版本 | 作者:[WPJohnny](https://wpjohnny.com/)
- Super Page Cache for Cloudflare 4.7.5 版本 | 作者:[Optimole](https://optimole.com/)

无法使用?

我使用WordPress 5.2.2,配置了参数,无法使用,不知道哪里出错了。

安装插件会导致博客发布时间产生8小时的时差

插件在博客装好之后,发现文章发布时间差了8个小时,停用插件就可以恢复。从网上找了很多方法,捣鼓了三四个小时也没解决。在我的一个测试的博客上安装了插件发现同样的博客文章会有时差。

这是没安装的时候
image
下面是安装之后
image

wordpress5.7,PHP8.0.3配置出现致命错误。

Fatal error: Uncaught GuzzleHttp\Exception\RequestException: cURL error 77: error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: /etc/ssl/certs (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) in /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:201 Stack trace: #0 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(155): GuzzleHttp\Handler\CurlFactory::createRejection() #1 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php(105): GuzzleHttp\Handler\CurlFactory::finishError() #2 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(201): GuzzleHttp\Handler\CurlFactory::finish() #3 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(130): GuzzleHttp\Handler\CurlMultiHandler->processMessages() #4 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(145): GuzzleHttp\Handler\CurlMultiHandler->tick() #5 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/promises/src/Promise.php(248): GuzzleHttp\Handler\CurlMultiHandler->execute() #6 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/promises/src/Promise.php(224): GuzzleHttp\Promise\Promise->invokeWaitFn() #7 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/promises/src/Promise.php(269): GuzzleHttp\Promise\Promise->waitIfPending() #8 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/promises/src/Promise.php(226): GuzzleHttp\Promise\Promise->invokeWaitList() #9 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/promises/src/Promise.php(62): GuzzleHttp\Promise\Promise->waitIfPending() #10 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/promises/src/Coroutine.php(67): GuzzleHttp\Promise\Promise->wait() #11 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/promises/src/Promise.php(248): GuzzleHttp\Promise\Coroutine->GuzzleHttp\Promise{closure}() #12 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/promises/src/Promise.php(224): GuzzleHttp\Promise\Promise->invokeWaitFn() #13 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/promises/src/Promise.php(62): GuzzleHttp\Promise\Promise->waitIfPending() #14 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/promises/src/Coroutine.php(103): GuzzleHttp\Promise\Promise->wait() #15 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/command/src/ServiceClient.php(77): GuzzleHttp\Promise\Coroutine->wait() #16 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/command/src/ServiceClient.php(153): GuzzleHttp\Command\ServiceClient->execute() #17 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/qcloud/cos-sdk-v5/src/Qcloud/Cos/Client.php(116): GuzzleHttp\Command\ServiceClient->__call() #18 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/wordpress-qcloud-cos.php(100): Qcloud\Cos\Client->__call() #19 /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/wordpress-qcloud-cos.php(569): cos_check_bucket() #20 /www/wwwroot/NyaDoo_Main/wp-includes/class-wp-hook.php(292): cos_setting_page() #21 /www/wwwroot/NyaDoo_Main/wp-includes/class-wp-hook.php(316): WP_Hook->apply_filters() #22 /www/wwwroot/NyaDoo_Main/wp-includes/plugin.php(484): WP_Hook->do_action() #23 /www/wwwroot/NyaDoo_Main/wp-admin/admin.php(259): do_action() #24 /www/wwwroot/NyaDoo_Main/wp-admin/options-general.php(10): require_once('...') #25 {main} thrown in /www/wwwroot/NyaDoo_Main/wp-content/plugins/wordpress-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php on line 201
此站点遇到了致命错误,请查看您站点管理员电子邮箱中收到的邮件来获得指引。

了解有关对WordPress进行故障排除的更多信息。

存储桶名称错误,可能是 XXX...

描述:
插件配置参数提交保存,失败错误提示“存储桶名称错误,可能是 XXX...”,经查桶名称无误且在提示列表中。
由于此时api secret使用的是子用户secret,权限限制了COS以外资源及API的访问出错,且查参考说明使用全局api secret,故更新全局secret后接入成功。
由于全局api secret使用具有极大的风险,建议作者更新新版本加入子用户访问支持。

环境:
略。(未发现兼容性问题,如需另补)

补充:
#3
该Issue疑似同样情况。

联络:
leander#tchost.cn

GuzzleHttp致命错误:Call to undefined method

Fatal error: Uncaught Error: Call to undefined method GuzzleHttp\Promise\Coroutine::of() in /data/wwwroot/ahdark.rc0.co/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/promises/src/functions.php:362 Stack trace: #0 /data/wwwroot/ahdark.rc0.co/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/command/src/ServiceClient.php(181): GuzzleHttp\Promise\coroutine() #1 /data/wwwroot/ahdark.rc0.co/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/guzzle-services/src/Handler/ValidatedDescriptionHandler.php(79): GuzzleHttp\Command\ServiceClient->GuzzleHttp\Command{closure}() #2 /data/wwwroot/ahdark.rc0.co/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/command/src/ServiceClient.php(85): GuzzleHttp\Command\Guzzle\Handler\ValidatedDescriptionHandler->GuzzleHttp\Command\Guzzle\Handler{closure}() #3 /data/wwwroot/ahdark.rc0.co/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/command/src/ServiceClient.php(77): GuzzleHttp\Command\ServiceClient->executeAsync() #4 / in /data/wwwroot/ahdark.rc0.co/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/promises/src/functions.php on line 362

出现了新的报错

wp版本:6.4.2 版本

插件版本:2.4.1

在保存配置时出现错误代码:

如果服务器与COS桶通信状况不佳,上传会失败

RT,我的服务器是甲骨文日本的ARM服务器,而储存桶选了国内。
我发现在服务器与大陆的通信状况较差的情况下,如果服务器操作文件上传超时,那么文件就必须重传了,因为插件不会再次尝试上传(即使文件已经传到服务器上了
image
而由于这个操作是在服务器上发生的,所以即使我本地网络没有问题,此时即使手动重新上传也仍还是大概率失败
对此有什么解决方法吗
附甲骨文日本到国内丢包情况(可以说是惨不忍睹
image

点保存后报错

atal error: Uncaught Error: Call to undefined method GuzzleHttp\Psr7\Uri::resolve() in /data/wwwroot/jikexingkong/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/guzzle-services/src/Serializer.php:161 Stack trace: #0 /data/wwwroot/jikexingkong/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/guzzle-services/src/Serializer.php(127): GuzzleHttp\Command\Guzzle\Serializer->createCommandWithUri() #1 /data/wwwroot/jikexingkong/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/guzzle-services/src/Serializer.php(59): GuzzleHttp\Command\Guzzle\Serializer->createRequest() #2 /data/wwwroot/jikexingkong/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/qcloud/cos-sdk-v5/src/Qcloud/Cos/Client.php(193): GuzzleHttp\Command\Guzzle\Serializer->__invoke() #3 /data/wwwroot/jikexingkong/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/command/src/ServiceClient.php(195): Qcloud\Cos\Client->commandToRequestTransformer() #4 /data/wwwroot/jikexingkong/wp-content/plugins/sync-qcloud- in /data/wwwroot/jikexingkong/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/guzzle-services/src/Serializer.php on line 161

[BUG]使用elementor插件时url替换造成插件css无法获取

elementor插件会将css储存在Uploads文件夹下,如:

https://xxxx/wp-content/uploads/elementor/css/post-603.css?ver=1593270446

被本插件替换后会变成:

https://xxx.cos.ap-xxxx.myqcloud.com/wp-content/uploads/elementor/css/post-603.css?ver=1593270446

但实际文件并未上传cos,造成访问时该css报404错误,页面排版混乱

能否考虑添加特定文件夹不上传机制?

有个问题 上传的头像图片不会上传

个人资料这里有个头像上传,上传的头像图片并不会被同步到cos里面去。

但是头像链接却显示cos的域名,所以就造成上传的头像显示不出来。

上传至媒体库时报错,无法正常使用

  • PHP版本:8.0.14
  • WordPress 版本:5.9.2
  • 插件版本:2.0.2

在通过 POST /wp-admin/async-upload.php 上传附件时出现如下错误

在使用 2.0.1 及以前版本插件时并未出现此类错误。

Fatal error: Uncaught Error: Call to undefined method GuzzleHttp\Promise\Coroutine::of() in /usr/share/web/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/promises/src/functions.php:362
Stack trace:
#0 /usr/share/web/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/command/src/ServiceClient.php(181): GuzzleHttp\Promise\coroutine()
#1 /usr/share/web/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/guzzle-services/src/Handler/ValidatedDescriptionHandler.php(79): GuzzleHttp\Command\ServiceClient->GuzzleHttp\Command{closure}()
#2 /usr/share/web/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/command/src/ServiceClient.php(85): GuzzleHttp\Command\Guzzle\Handler\ValidatedDescriptionHandler->GuzzleHttp\Command\Guzzle\Handler{closure}()
#3 /usr/share/web/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/command/src/ServiceClient.php(77): GuzzleHttp\Command\ServiceClient->executeAsync()
#4 /usr/share/web/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/command/src/ServiceClient.php(153): GuzzleHttp\Command\ServiceClient->execute()
#5 /usr/share/web/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/qcloud/cos-sdk-v5/src/Qcloud/Cos/Client.php(223): GuzzleHttp\Command\ServiceClient->__call()
#6 /usr/share/web/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/qcloud/cos-sdk-v5/src/Qcloud/Cos/Client.php(273): Qcloud\Cos\Client->__call()
#7 /usr/share/web/wp-content/plugins/sync-qcloud-cos/wordpress-qcloud-cos.php(156): Qcloud\Cos\Client->upload()
#8 /usr/share/web/wp-content/plugins/sync-qcloud-cos/wordpress-qcloud-cos.php(294): cos_file_upload()
#9 /usr/share/web/wp-includes/class-wp-hook.php(309): cos_upload_thumbs()
#10 /usr/share/web/wp-includes/plugin.php(189): WP_Hook->apply_filters()
#11 /usr/share/web/wp-admin/includes/image.php(643): apply_filters()
#12 /usr/share/web/wp-admin/includes/media.php(421): wp_generate_attachment_metadata()
#13 /usr/share/web/wp-admin/async-upload.php(114): media_handle_upload()
#14 {main} thrown in /usr/share/web/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/promises/src/functions.php on line 362

自定义域名失效

已配置

  • WordPress上传路径:wp-content/uploads
  • 自定义域名:example.com

预期访问资源的链接是 example.com/ ,以前上传的资源在WordPress后台可以正常显示。

但是今天突然失效了,检查腾讯云COS存储桶发现又自动创建了 wp-content/uploads 路径。

新上传的图片不显示预览,必须以 example.com/wp-content/uploads/ 才可访问。

重新安装后仍然无效。

Call to undefined function GuzzleHttp\Command\Guzzle\ResponseLocation\simplexml_load_string()

Fatal error: Uncaught Error: Call to undefined function GuzzleHttp\Command\Guzzle\ResponseLocation\simplexml_load_string() in /opt/wordpress/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/guzzle-services/src/ResponseLocation/XmlLocation.php:38 Stack trace: #0 /opt/wordpress/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/guzzle-services/src/Deserializer.php(156): GuzzleHttp\Command\Guzzle\ResponseLocation\XmlLocation->before(Object(GuzzleHttp\Command\Result), Object(GuzzleHttp\Psr7\Response), Object(GuzzleHttp\Command\Guzzle\Parameter)) #1 /opt/wordpress/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/guzzle-services/src/Deserializer.php(199): GuzzleHttp\Command\Guzzle\Deserializer->triggerBeforeVisitor('xml', Object(GuzzleHttp\Command\Guzzle\Parameter), Object(GuzzleHttp\Command\Result), Object(GuzzleHttp\Psr7\Response), Array) #2 /opt/wordpress/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/guzzle-services/src/Deserializer.php(116): GuzzleHttp\Command\Guz in /opt/wordpress/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/guzzle-services/src/ResponseLocation/XmlLocation.php on line 38

上传到oss很慢

上传至服务器速度都是正常的, 服务器和oss是同一地域

不太懂wordpress.. 不知道怎么排查

image

如图... 上传100%后等了比较久的时间oss才上传完毕, oss本身不应该是这个速度的.

Fatal error: Uncaught Error: Call to undefined method GuzzleHttp\Promise\Coroutine::of()

重现步骤:
插件在运行中,且已配置好存储桶信息

1、当修改本地文件夹和URL前缀,例如由 wp-content 改成wp-content/uploads
2、点击保存后WordPress报错:

Fatal error: Uncaught Error: Call to undefined method GuzzleHttp\Promise\Coroutine::of() in /www/wwwroot/打码/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/promises/src/functions.php:362 Stack trace: #0 /www/wwwroot/打码/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/command/src/ServiceClient.php(181): GuzzleHttp\Promise\coroutine() #1 /www/wwwroot/打码/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/guzzle-services/src/Handler/ValidatedDescriptionHandler.php(79): GuzzleHttp\Command\ServiceClient->GuzzleHttp\Command\{closure}() #2 /www/wwwroot/打码/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/command/src/ServiceClient.php(85): GuzzleHttp\Command\Guzzle\Handler\ValidatedDescriptionHandler->GuzzleHttp\Command\Guzzle\Handler\{closure}() #3 /www/wwwroot/打码/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/command/src/ServiceClient.php(77): GuzzleHttp\Command\ServiceClient->executeAsync() #4 /www/wwwroot/打码 in /www/wwwroot/打码/wp-content/plugins/sync-qcloud-cos/cos-sdk-v5/vendor/guzzlehttp/promises/src/functions.php on line 362

centos 7 缩略图无法正常上传cos

本地macos 上传没的问题,线上centos 原图可以正常上传,缩略图没有上次,调试发现:
/**

  • 上传图片的缩略图
    */
    function cos_upload_thumbs($metadata)
    debug 输出log:
    [09-Aug-2023 15:04:16 PRC] cos_upload_thumbs:/www/wwwroot/xxx.com/uploads/2023/08/c943a6bf9758c466f20f5e9ca507cf48-300x200.jpg
    [09-Aug-2023 15:04:16 PRC] cos_upload_thumbs:/wwwwwwrootxxx.comuploads202308c943a6bf9758c466f20f5e9ca507cf48-300x200.jpg
    [09-Aug-2023 15:04:16 PRC] cos_upload_thumbs:c943a6bf9758c466f20f5e9ca507cf48-150x150.jpg
    [09-Aug-2023 15:04:16 PRC] cos_upload_thumbs:/www/wwwroot/xxx.com/uploads/2023/08/c943a6bf9758c466f20f5e9ca507cf48-150x150.jpg
    [09-Aug-2023 15:04:16 PRC] cos_upload_thumbs:/wwwwwwrootxxx.comuploads202308c943a6bf9758c466f20f5e9ca507cf48-150x150.jpg
    [09-Aug-2023 15:04:16 PRC] cos_upload_thumbs:c943a6bf9758c466f20f5e9ca507cf48-768x512.jpg
    [09-Aug-2023 15:04:16 PRC] cos_upload_thumbs:/www/wwwroot/xxx.com/uploads/2023/08/c943a6bf9758c466f20f5e9ca507cf48-768x512.jpg
    [09-Aug-2023 15:04:16 PRC] cos_upload_thumbs:/wwwwwwrootxxx.comuploads202308c943a6bf9758c466f20f5e9ca507cf48-768x512.jpg

$object_path = str_replace(get_home_path(), '', $file_path);
get_home_path()返回是/, 导致object_path不正确,

修改如下:
$object_path = $upload_path.'/'.$dirname.'/';

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.