Thinkphp6一直用的一個(gè)項(xiàng)目,使用MINIO用的AWS SDK一直正常。
因?yàn)樾枰脀ebman復(fù)寫(xiě)了項(xiàng)目,當(dāng)在webman中即便require也不行。
對(duì)比過(guò)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}
fpm 和 cli 是兩種運(yùn)行模式 ,他不是 之前那種 改完代碼啥也不用管的 fpm模式了
能理解,但是這種情況需要從何入手去解決。畢竟大多數(shù)都正常,是需要cli的哪個(gè)沒(méi)啟動(dòng)?還是少了什么庫(kù)?有沒(méi)大佬提供一下解決思路?
問(wèn)題出在哪基本找到了,只是解決不了
.json和.lock都是2.8的版本。但是在公司的composer的sdk包是不一樣的。
在家里試驗(yàn)了sdk和老項(xiàng)目是一樣的。
剛剛也嘗試了卸載依賴(lài),然后清除緩存,也確認(rèn)了。但再composer還是那個(gè)不一樣的包,很離奇。
緩存也沒(méi)了為什么下的包和家里不一樣。
現(xiàn)在可以替代的方法就是把家里下的sdk的空項(xiàng)目來(lái)替換。
很離奇,查遍了,找不到問(wèn)題出在哪。
直接索性把正常的sdk目錄復(fù)制了一遍,把正常的composer.json和composer.lock的依賴(lài)復(fù)制了一遍,然后一切就正常用了。
特意還update一下,看到:
有沒(méi)有大佬知道,這個(gè)
support\Plugin::uninstall
support\Plugin::install
這個(gè)support\Plugin是哪個(gè)文件
把vendor 刪除 和 composer.lock 也刪除 然后composer install 在清理一下composer的緩存 你會(huì)有驚喜 發(fā)現(xiàn)就能安裝了