第一个报错,当我正确配置证书了,就出现第二个报错了
cURL error 60: SSL certificate problem: self signed certificate in certifica 【已解决】
第二个报错
ErrorException: Array to string conversion in C:\draw_webman\webman\vendor\workerman\workerman\Protocols\Http.php:209
Stack trace:【未解决】
证书配置检查多次确信无误
[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
curl.cainfo ="D:/phpstudy_pro/Extensions/php/php7.4.3nts/extras/ssl/cacert.pem"
[openssl]
; The location of a Certificate Authority (CA) file on the local filesystem
; to use when verifying the identity of SSL/TLS peers. Most users should
; not specify a value for this directive as PHP will attempt to use the
; OS-managed cert stores in its absence. If specified, this value may still
; be overridden on a per-stream basis via the "cafile" SSL stream context
; option.
openssl.cafile="D:/phpstudy_pro/Extensions/php/php7.4.3nts/extras/ssl/cacert.pem"
框架报错行数
这里写具体的系统环境相关信息
备注:自己已检测业务代码,不应该是业务代码错误,业务代码是从原生tp5复制过来的
//上传图片
public function upload(Request $request)
{
$file = $request->file('file');
if ($file && $file->isValid()) {
$info = $file->move(public_path().'/files/myfile.'.$file->getUploadExtension());
$fi = './public/files/myfile.'.$file->getUploadExtension();
$savePath = time().mt_rand(100000,999999).'.png';
//将图片传到腾讯云
$local_path = $fi;//文件上传临时目录
//抠图完成上传腾讯云,加快下载速度
$server_key_name = '/photo/'.date("Ymd",time()).'/'.date("YmdHis",time()).$savePath;//远程服务器存储的名字
require './vendor/autoload.php';
$secretId = "XXX"; //"云 API 密钥 SecretId";
$secretKey = "XXX"; //"云 API 密钥 SecretKey";改成自己的
$region = "ap-nanjing"; //设置一个默认的存储桶地域
$cosClient = new \Qcloud\Cos\Client(
array(
'region' => $region,
'schema' => 'https', //协议头部,默认为http
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)
)
);
//定义数据
$upload_success = false;
$img_url = '';
$upload_msg = '';
try {
$result = $cosClient->upload(
$bucket = 'xxx-123', //请创建桶的时候 设置公共读写 改成自己的
$key = $server_key_name,
$body = fopen($local_path, 'rb')
);
// 请求成功,返回透明前景
$data = $result->toArray() ;
return $data;
if(isset($data['Location']) && isset($data['Key'])){
$img_url = 'https://'.$data['Location'];
$upload_success = true;
}
} catch (\Exception $e) {
// 请求失败
$upload_msg = $e->getMessage();
return $upload_msg;
}
//合成成功
$data = ['img_url'=>$img_url];
return $data;
}
}
上传图片的业务代码,在我原生tp5里面执行正常,复制到webman,报框架错误,框架错误让我无从下手,有人遇到此类情况吗?
关键字 Array to string... ,数组不能转换为字符串。控制器里return array应该是错误用法,改成 return json($data); 试下
谢谢大佬点拔, 果然是的,报框架错误,我没法定位哪里的问题,按道理应该报我代码错误,不过,非常感谢大佬