Thinkphp6一直用的一個項(xiàng)目,使用MINIO用的AWS SDK一直正常。
因?yàn)樾枰脀ebman復(fù)寫了項(xiàng)目,當(dāng)在webman中即便require也不行。
對比過composer.json的require版本都是2.8,SDK也是相同的SDK。
想不出是我少了什么,還是webman比tp6少了啥?
<?php
namespace app\common;
use Aws\S3\Exception\S3Exception;
use Aws\S3\S3Client;
class Minio
{
private function client()
{
//
$config = config('sign.minio');
$client = new S3Client([
'version' => 'latest',
's3ForcePathStyle' => true,
'region' => 'cn-north-1',
'endpoint' => $config['endpoint'],
'credentials' => [
'key' => $config['credentials.key'],
'secret'=> $config['credentials.secret']
],
]);
return $client;
}
}
Error: Class "Aws\S3\S3Client" not found in D:\htdocs\sh_bim\app\common\Minio.php:13<br />
Stack trace:<br />
#0 D:\htdocs\sh_bim\app\common\Minio.php(29): app\common\Minio->client()<br />
#1 D:\htdocs\sh_bim\app\controller\MinioossController.php(56): app\common\Minio->upload(Object(Webman\Http\UploadFile), 'build/2023/08/8...')<br />
#2 D:\htdocs\sh_bim\vendor\workerman\webman-framework\src\App.php(319): app\controller\MinioossController->save(Object(support\Request))<br />
#3 D:\htdocs\sh_bim\vendor\workerman\webman-framework\src\App.php(560): Webman\App::Webman\{closure}(Object(support\Request))<br />
#4 D:\htdocs\sh_bim\vendor\workerman\webman-framework\src\App.php(148): Webman\App::findRoute(Object(Workerman\Connection\TcpConnection), '/miniooss', 'POST/miniooss', Object(support\Request))<br />
#5 D:\htdocs\sh_bim\vendor\workerman\workerman\Connection\TcpConnection.php(646): Webman\App->onMessage(Object(Workerman\Connection\TcpConnection), Object(support\Request))<br />
#6 D:\htdocs\sh_bim\vendor\workerman\workerman\Events\Select.php(311): Workerman\Connection\TcpConnection->baseRead(Resource id #263)<br />
#7 D:\htdocs\sh_bim\vendor\workerman\workerman\Worker.php(1479): Workerman\Events\Select->loop()<br />
#8 D:\htdocs\sh_bim\vendor\workerman\workerman\Worker.php(1399): Workerman\Worker::forkWorkersForWindows()<br />
#9 D:\htdocs\sh_bim\vendor\workerman\workerman\Worker.php(560): Workerman\Worker::forkWorkers()<br />
#10 D:\htdocs\sh_bim\vendor\workerman\webman-framework\src\support\App.php(131): Workerman\Worker::runAll()<br />
#11 D:\htdocs\sh_bim\start.php(4): support\App::run()<br />
#12 {main}
問題出在哪基本找到了,只是解決不了
.json和.lock都是2.8的版本。但是在公司的composer的sdk包是不一樣的。
在家里試驗(yàn)了sdk和老項(xiàng)目是一樣的。
剛剛也嘗試了卸載依賴,然后清除緩存,也確認(rèn)了。但再composer還是那個不一樣的包,很離奇。
緩存也沒了為什么下的包和家里不一樣。
現(xiàn)在可以替代的方法就是把家里下的sdk的空項(xiàng)目來替換。
很離奇,查遍了,找不到問題出在哪。
直接索性把正常的sdk目錄復(fù)制了一遍,把正常的composer.json和composer.lock的依賴復(fù)制了一遍,然后一切就正常用了。
特意還update一下,看到:
有沒有大佬知道,這個
support\Plugin::uninstall
support\Plugin::install
這個support\Plugin是哪個文件
把vendor 刪除 和 composer.lock 也刪除 然后composer install 在清理一下composer的緩存 你會有驚喜 發(fā)現(xiàn)就能安裝了