@@ -132,18 +132,18 @@ public function write($url, $body = [], $method = CurlInterface::POST, $headers
132
132
CURLOPT_RETURNTRANSFER => true ,
133
133
CURLOPT_FOLLOWLOCATION => true ,
134
134
CURLOPT_COOKIEFILE => '' ,
135
- CURLOPT_HTTPHEADER => $ headers ,
135
+ CURLOPT_HTTPHEADER => is_object ( $ headers ) ? ( array ) $ headers : $ headers ,
136
136
CURLOPT_SSL_VERIFYPEER => false ,
137
137
CURLOPT_SSL_VERIFYHOST => false ,
138
138
];
139
139
switch ($ method ) {
140
140
case CurlInterface::POST :
141
141
$ options [CURLOPT_POST ] = true ;
142
- $ options [CURLOPT_POSTFIELDS ] = $ body ;
142
+ $ options [CURLOPT_POSTFIELDS ] = is_object ( $ body ) ? ( array ) $ body : $ body ;
143
143
break ;
144
144
case CurlInterface::PUT :
145
145
$ options [CURLOPT_CUSTOMREQUEST ] = self ::PUT ;
146
- $ options [CURLOPT_POSTFIELDS ] = $ body ;
146
+ $ options [CURLOPT_POSTFIELDS ] = is_object ( $ body ) ? ( array ) $ body : $ body ;
147
147
break ;
148
148
case CurlInterface::DELETE :
149
149
$ options [CURLOPT_CUSTOMREQUEST ] = self ::DELETE ;
@@ -189,7 +189,10 @@ public function read($successRegex = null, $returnRegex = null, $returnIndex = n
189
189
*/
190
190
public function close ()
191
191
{
192
- curl_close ($ this ->getResource ());
192
+ if (version_compare (PHP_VERSION , '8.0 ' ) < 0 ) {
193
+ // this function no longer has an effect in PHP 8.0, but it's required in earlier versions
194
+ curl_close ($ this ->getResource ());
195
+ }
193
196
$ this ->resource = null ;
194
197
}
195
198
@@ -271,7 +274,11 @@ public function multiRequest(array $urls, array $options = [])
271
274
$ result [$ key ] = curl_multi_getcontent ($ handle );
272
275
curl_multi_remove_handle ($ multiHandle , $ handle );
273
276
}
274
- curl_multi_close ($ multiHandle );
277
+ if (version_compare (PHP_VERSION , '8.0 ' ) < 0 ) {
278
+ // this function no longer has an effect in PHP 8.0, but it's required in earlier versions
279
+ curl_multi_close ($ multiHandle );
280
+ }
281
+
275
282
return $ result ;
276
283
}
277
284
0 commit comments