[RFC] Deprecate curl_close() (#19451)

https://wiki.php.net/rfc/deprecations_php_8_5
This commit is contained in:
Daniel Scherzer 2025-08-12 05:44:41 -07:00 committed by GitHub
parent 4de2ec3895
commit 9b13bb1ae4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
87 changed files with 51 additions and 135 deletions

View file

@ -3740,6 +3740,7 @@ final class CurlSharePersistentHandle
public readonly array $options; public readonly array $options;
} }
#[\Deprecated(since: '8.5', message: "as it has no effect since PHP 8.0")]
function curl_close(CurlHandle $handle): void {} function curl_close(CurlHandle $handle): void {}
/** @refcount 1 */ /** @refcount 1 */

View file

@ -1,5 +1,5 @@
/* This is a generated file, edit the .stub.php file instead. /* This is a generated file, edit the .stub.php file instead.
* Stub hash: 682d257b0235e5f6f81ffe3ddf563f384125a271 */ * Stub hash: 172dc89afccd670434ce2ca0a6c905c77edcf337 */
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_close, 0, 1, IS_VOID, 0) ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_close, 0, 1, IS_VOID, 0)
ZEND_ARG_OBJ_INFO(0, handle, CurlHandle, 0) ZEND_ARG_OBJ_INFO(0, handle, CurlHandle, 0)
@ -185,7 +185,7 @@ ZEND_FUNCTION(curl_strerror);
ZEND_FUNCTION(curl_version); ZEND_FUNCTION(curl_version);
static const zend_function_entry ext_functions[] = { static const zend_function_entry ext_functions[] = {
ZEND_FE(curl_close, arginfo_curl_close) ZEND_RAW_FENTRY("curl_close", zif_curl_close, arginfo_curl_close, ZEND_ACC_DEPRECATED, NULL, NULL)
ZEND_FE(curl_copy_handle, arginfo_curl_copy_handle) ZEND_FE(curl_copy_handle, arginfo_curl_copy_handle)
ZEND_FE(curl_errno, arginfo_curl_errno) ZEND_FE(curl_errno, arginfo_curl_errno)
ZEND_FE(curl_error, arginfo_curl_error) ZEND_FE(curl_error, arginfo_curl_error)
@ -986,6 +986,13 @@ static void register_curl_symbols(int module_number)
REGISTER_LONG_CONSTANT("CURLOPT_SAFE_UPLOAD", CURLOPT_SAFE_UPLOAD, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CURLOPT_SAFE_UPLOAD", CURLOPT_SAFE_UPLOAD, CONST_PERSISTENT);
zend_attribute *attribute_Deprecated_func_curl_close_0 = zend_add_function_attribute(zend_hash_str_find_ptr(CG(function_table), "curl_close", sizeof("curl_close") - 1), ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
ZVAL_STR(&attribute_Deprecated_func_curl_close_0->args[0].value, ZSTR_KNOWN(ZEND_STR_8_DOT_5));
attribute_Deprecated_func_curl_close_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);
zend_string *attribute_Deprecated_func_curl_close_0_arg1_str = zend_string_init("as it has no effect since PHP 8.0", strlen("as it has no effect since PHP 8.0"), 1);
ZVAL_STR(&attribute_Deprecated_func_curl_close_0->args[1].value, attribute_Deprecated_func_curl_close_0_arg1_str);
attribute_Deprecated_func_curl_close_0->args[1].name = ZSTR_KNOWN(ZEND_STR_MESSAGE);
zend_attribute *attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0 = zend_add_global_constant_attribute(const_CURLOPT_BINARYTRANSFER, ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2); zend_attribute *attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0 = zend_add_global_constant_attribute(const_CURLOPT_BINARYTRANSFER, ZSTR_KNOWN(ZEND_STR_DEPRECATED_CAPITALIZED), 2);
ZVAL_STR(&attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0->args[0].value, ZSTR_KNOWN(ZEND_STR_8_DOT_4)); ZVAL_STR(&attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0->args[0].value, ZSTR_KNOWN(ZEND_STR_8_DOT_4));
attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE); attribute_Deprecated_const_CURLOPT_BINARYTRANSFER_0->args[0].name = ZSTR_KNOWN(ZEND_STR_SINCE);

View file

@ -33,9 +33,6 @@ $file = curl_file_create(__DIR__ . '/curl_testdata1.txt', "text/plain", "foo.txt
$params = array('file' => $file); $params = array('file' => $file);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params); curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
var_dump(curl_exec($ch)); var_dump(curl_exec($ch));
curl_close($ch);
?> ?>
--EXPECTF-- --EXPECTF--
string(%d) "curl_testdata1.txt|application/octet-stream|6" string(%d) "curl_testdata1.txt|application/octet-stream|6"

View file

@ -16,7 +16,6 @@ curl_setopt($ch, CURLOPT_URL, curl_cli_server_start());
fclose($fp); // <-- premature close of $fp caused a crash! fclose($fp); // <-- premature close of $fp caused a crash!
curl_exec($ch); curl_exec($ch);
curl_close($ch);
echo "Ok\n"; echo "Ok\n";

View file

@ -43,7 +43,6 @@ try {
} }
curl_exec($ch); curl_exec($ch);
curl_close($ch);
is_file($tempfile) and @unlink($tempfile); is_file($tempfile) and @unlink($tempfile);
isset($tempname) and is_file($tempname) and @unlink($tempname); isset($tempname) and is_file($tempname) and @unlink($tempname);
?> ?>

View file

@ -34,8 +34,6 @@ function checkForClosedFilePointer($host, $curl_option, $description) {
curl_exec($ch); curl_exec($ch);
curl_close($ch);
echo "Ok for $description\n"; echo "Ok for $description\n";
} }

View file

@ -28,8 +28,6 @@ function checkForClosedFilePointer($host, $curl_option, $description) {
curl_exec($ch); curl_exec($ch);
curl_close($ch);
echo "Ok for $description\n"; echo "Ok for $description\n";
} }

View file

@ -20,7 +20,6 @@ curl
curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
$curl_content = curl_exec($ch); $curl_content = curl_exec($ch);
curl_close($ch);
var_dump( $curl_content ); var_dump( $curl_content );
?> ?>

View file

@ -14,7 +14,6 @@ open_basedir="/tmp"
var_dump(curl_setopt($ch, CURLOPT_COOKIEFILE, "")); var_dump(curl_setopt($ch, CURLOPT_COOKIEFILE, ""));
var_dump(curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/foo")); var_dump(curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/foo"));
var_dump(curl_setopt($ch, CURLOPT_COOKIEFILE, "/xxx/bar")); var_dump(curl_setopt($ch, CURLOPT_COOKIEFILE, "/xxx/bar"));
curl_close($ch);
?> ?>
--EXPECTF-- --EXPECTF--
bool(true) bool(true)

View file

@ -13,7 +13,6 @@ curl
var_dump(curl_setopt($ch, CURLOPT_COOKIEFILE, "")); var_dump(curl_setopt($ch, CURLOPT_COOKIEFILE, ""));
var_dump(curl_setopt($ch, CURLOPT_COOKIEFILE, "$base_dir/foo")); var_dump(curl_setopt($ch, CURLOPT_COOKIEFILE, "$base_dir/foo"));
var_dump(curl_setopt($ch, CURLOPT_COOKIEFILE, "c:/xxx/bar")); var_dump(curl_setopt($ch, CURLOPT_COOKIEFILE, "c:/xxx/bar"));
curl_close($ch);
?> ?>
--CLEAN-- --CLEAN--
<?php <?php

View file

@ -11,8 +11,6 @@ var_dump(curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true));
var_dump(curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0)); var_dump(curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0));
var_dump(curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1)); var_dump(curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1));
var_dump(curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2)); var_dump(curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2));
curl_close($ch);
?> ?>
--EXPECTF-- --EXPECTF--
bool(true) bool(true)

View file

@ -11,7 +11,7 @@ for ($i = 0; $i < 10000; $i++) {
} }
$preclose = memory_get_usage(); $preclose = memory_get_usage();
curl_close($ch); $ch = null;
// This is a slightly tricky heuristic, but basically, we want to ensure // This is a slightly tricky heuristic, but basically, we want to ensure
// $preclose - $init has a delta in the order of bytes, not megabytes. Given // $preclose - $init has a delta in the order of bytes, not megabytes. Given

View file

@ -10,7 +10,6 @@ if (ini_get('open_basedir')) exit("skip open_basedir is set");
<?php <?php
$ch = curl_init(); $ch = curl_init();
var_dump(curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true)); var_dump(curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true));
curl_close($ch);
?> ?>
--EXPECT-- --EXPECT--
bool(true) bool(true)

View file

@ -10,7 +10,6 @@ $ch = curl_init();
var_dump(curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true)); var_dump(curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true));
var_dump(curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_FILE)); var_dump(curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_FILE));
var_dump(curl_setopt($ch, CURLOPT_REDIR_PROTOCOLS, CURLPROTO_FILE)); var_dump(curl_setopt($ch, CURLOPT_REDIR_PROTOCOLS, CURLPROTO_FILE));
curl_close($ch);
?> ?>
--EXPECTF-- --EXPECTF--
bool(true) bool(true)

View file

@ -15,9 +15,6 @@ var_dump(curl_exec($ch));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, NULL); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, NULL);
var_dump(curl_exec($ch)); var_dump(curl_exec($ch));
curl_close($ch);
?> ?>
--EXPECT-- --EXPECT--
string(6) "DELETE" string(6) "DELETE"

View file

@ -31,7 +31,6 @@ function curl_read($ch, $fp, $len) {
} }
curl_exec($ch); curl_exec($ch);
curl_close($ch);
?> ?>
--EXPECT-- --EXPECT--
NULL NULL

View file

@ -31,7 +31,6 @@ function curl_read($ch, $fp, $len) {
} }
curl_exec($ch); curl_exec($ch);
curl_close($ch);
?> ?>
--EXPECTF-- --EXPECTF--
resource(%d) of type (stream) resource(%d) of type (stream)

View file

@ -27,7 +27,6 @@ curl
curl_setopt($ch, CURLOPT_FILE, $f_file); curl_setopt($ch, CURLOPT_FILE, $f_file);
curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_URL, $url);
curl_exec($ch); curl_exec($ch);
curl_close($ch);
?> ?>
--CLEAN-- --CLEAN--
<?php <?php

View file

@ -27,6 +27,8 @@ object(CurlHandle)#1 (0) {
} }
object(CurlHandle)#1 (0) { object(CurlHandle)#1 (0) {
} }
Deprecated: Function curl_close() is deprecated since 8.5, as it has no effect since PHP 8.0 in %s on line %d
object(CurlHandle)#1 (0) { object(CurlHandle)#1 (0) {
} }
object(CurlHandle)#1 (0) { object(CurlHandle)#1 (0) {

View file

@ -42,7 +42,6 @@ do {
if ($handle !== null) { if ($handle !== null) {
$transfers--; $transfers--;
curl_multi_remove_handle($mh, $handle); curl_multi_remove_handle($mh, $handle);
curl_close($handle);
} }
} }
} while ($info); } while ($info);

View file

@ -19,7 +19,6 @@ $params = array('file' => $file);
var_dump(curl_setopt($ch, CURLOPT_POSTFIELDS, $params)); var_dump(curl_setopt($ch, CURLOPT_POSTFIELDS, $params));
var_dump(curl_exec($ch)); var_dump(curl_exec($ch));
curl_close($ch);
?> ?>
--EXPECTF-- --EXPECTF--
bool(true) bool(true)

View file

@ -25,10 +25,6 @@ do {
} }
} while ($status === CURLM_CALL_MULTI_PERFORM || $active); } while ($status === CURLM_CALL_MULTI_PERFORM || $active);
foreach ($urls as $i => $url) {
curl_close($conn[$i]);
}
curl_multi_close($mh); curl_multi_close($mh);
?> ?>
--EXPECTF-- --EXPECTF--

View file

@ -24,7 +24,6 @@ curl_setopt_array(
); );
var_dump(curl_exec($handle)); var_dump(curl_exec($handle));
curl_close($handle);
fwrite($sock, "GET / HTTP/1.0\n\n"); fwrite($sock, "GET / HTTP/1.0\n\n");
var_dump(fread($sock, 8)); var_dump(fread($sock, 8));

View file

@ -8,8 +8,8 @@ $mem_old = 0;
for($i = 0; $i < 50; ++$i) { for($i = 0; $i < 50; ++$i) {
$c1 = curl_init(); $c1 = curl_init();
$c2 = curl_copy_handle($c1); $c2 = curl_copy_handle($c1);
curl_close($c2); $c2 = null;
curl_close($c1); $c1 = null;
$mem_new = memory_get_usage(); $mem_new = memory_get_usage();
if ($mem_new <= $mem_old) { if ($mem_new <= $mem_old) {
break; break;

View file

@ -32,8 +32,6 @@ if (false === $response = curl_exec($ch)) {
echo $response; echo $response;
} }
curl_close($ch);
// Clean the temporary file // Clean the temporary file
@unlink($tempname); @unlink($tempname);
?> ?>

View file

@ -19,7 +19,6 @@ curl
ob_start(); // start output buffering ob_start(); // start output buffering
curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
$ok = curl_exec($ch); $ok = curl_exec($ch);
curl_close($ch);
$curl_content = ob_get_contents(); $curl_content = ob_get_contents();
ob_end_clean(); ob_end_clean();

View file

@ -21,8 +21,6 @@ curl
curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
$curl_content = curl_exec($ch); $curl_content = curl_exec($ch);
curl_close($ch);
var_dump( $curl_content ); var_dump( $curl_content );
?> ?>
--EXPECT-- --EXPECT--

View file

@ -23,8 +23,6 @@ curl
curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
$curl_content = curl_exec($ch); $curl_content = curl_exec($ch);
curl_close($ch);
var_dump( $curl_content ); var_dump( $curl_content );
?> ?>
--EXPECT-- --EXPECT--

View file

@ -22,8 +22,6 @@ curl
curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
$curl_content = curl_exec($ch); $curl_content = curl_exec($ch);
curl_close($ch);
var_dump( $curl_content ); var_dump( $curl_content );
?> ?>
--EXPECT-- --EXPECT--

View file

@ -22,8 +22,6 @@ curl
curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
$curl_content = curl_exec($ch); $curl_content = curl_exec($ch);
curl_close($ch);
var_dump( $curl_content ); var_dump( $curl_content );
?> ?>
--EXPECT-- --EXPECT--

View file

@ -24,7 +24,6 @@ curl
}); });
curl_exec($ch); curl_exec($ch);
curl_close($ch);
ob_end_flush(); ob_end_flush();
echo "Data: $alldata"; echo "Data: $alldata";
?> ?>

View file

@ -15,9 +15,6 @@ $ch = curl_init();
curl_exec($ch); curl_exec($ch);
var_dump(curl_error($ch)); var_dump(curl_error($ch));
var_dump(curl_errno($ch)); var_dump(curl_errno($ch));
curl_close($ch);
?> ?>
--EXPECTF-- --EXPECTF--
string(%d) "No URL set%A" string(%d) "No URL set%A"

View file

@ -21,9 +21,6 @@ curl_setopt($ch, CURLOPT_URL, $url);
curl_exec($ch); curl_exec($ch);
var_dump(curl_error($ch)); var_dump(curl_error($ch));
var_dump(curl_errno($ch)); var_dump(curl_errno($ch));
curl_close($ch);
?> ?>
--EXPECTF-- --EXPECTF--
%s resolve%s %s resolve%s

View file

@ -15,9 +15,6 @@ curl_setopt($ch, CURLOPT_URL, $url);
curl_exec($ch); curl_exec($ch);
var_dump(curl_error($ch)); var_dump(curl_error($ch));
var_dump(curl_errno($ch)); var_dump(curl_errno($ch));
curl_close($ch);
?> ?>
--EXPECTF-- --EXPECTF--
string(%d) "%Srotocol%s" string(%d) "%Srotocol%s"

View file

@ -22,9 +22,6 @@ curl_setopt($ch, CURLOPT_URL, $url);
curl_exec($ch); curl_exec($ch);
var_dump(curl_error($ch)); var_dump(curl_error($ch));
var_dump(curl_errno($ch)); var_dump(curl_errno($ch));
curl_close($ch);
?> ?>
--EXPECTF-- --EXPECTF--
string(%d) "%r(Couldn't resolve proxy|Could not resolve proxy:|Could not resolve host:|Could not resolve:|Unsupported proxy syntax in)%r %s" string(%d) "%r(Couldn't resolve proxy|Could not resolve proxy:|Could not resolve host:|Could not resolve:|Unsupported proxy syntax in)%r %s"

View file

@ -21,7 +21,6 @@ curl
curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
$curl_content = curl_exec($ch); $curl_content = curl_exec($ch);
curl_close($ch);
var_dump( $curl_content ); var_dump( $curl_content );
?> ?>

View file

@ -21,7 +21,6 @@ curl
curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
$curl_content = curl_exec($ch); $curl_content = curl_exec($ch);
curl_close($ch);
var_dump( $curl_content ); var_dump( $curl_content );
?> ?>

View file

@ -21,7 +21,6 @@ curl
curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
$curl_content = curl_exec($ch); $curl_content = curl_exec($ch);
curl_close($ch);
var_dump( $curl_content ); var_dump( $curl_content );
?> ?>

View file

@ -16,7 +16,6 @@ curl
curl_exec($ch); curl_exec($ch);
$info = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); $info = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
var_dump($url == $info); var_dump($url == $info);
curl_close($ch);
?> ?>
--EXPECT-- --EXPECT--
Hello World! Hello World!

View file

@ -14,7 +14,6 @@ curl
curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_URL, $url);
curl_exec($ch); curl_exec($ch);
var_dump(curl_getinfo($ch, CURLINFO_HTTP_CODE)); var_dump(curl_getinfo($ch, CURLINFO_HTTP_CODE));
curl_close($ch);
?> ?>
--EXPECT-- --EXPECT--
Hello World! Hello World!

View file

@ -14,7 +14,6 @@ curl
curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_URL, $url);
curl_exec($ch); curl_exec($ch);
var_dump(curl_getinfo($ch, CURLINFO_CONTENT_TYPE)); var_dump(curl_getinfo($ch, CURLINFO_CONTENT_TYPE));
curl_close($ch);
?> ?>
--EXPECT-- --EXPECT--
string(24) "text/plain;charset=utf-8" string(24) "text/plain;charset=utf-8"

View file

@ -17,7 +17,6 @@ curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_exec($ch); curl_exec($ch);
var_dump(CURL_HTTP_VERSION_1_1 === curl_getinfo($ch, CURLINFO_HTTP_VERSION)); var_dump(CURL_HTTP_VERSION_1_1 === curl_getinfo($ch, CURLINFO_HTTP_VERSION));
curl_close($ch);
?> ?>
--EXPECT-- --EXPECT--
bool(true) bool(true)

View file

@ -17,7 +17,6 @@ curl_exec($ch);
var_dump(CURLPROTO_HTTP === curl_getinfo($ch, CURLINFO_PROTOCOL)); var_dump(CURLPROTO_HTTP === curl_getinfo($ch, CURLINFO_PROTOCOL));
var_dump(0 === curl_getinfo($ch, CURLINFO_PROXY_SSL_VERIFYRESULT)); var_dump(0 === curl_getinfo($ch, CURLINFO_PROXY_SSL_VERIFYRESULT));
var_dump(curl_getinfo($ch, CURLINFO_SCHEME)); var_dump(curl_getinfo($ch, CURLINFO_SCHEME));
curl_close($ch);
?> ?>
--EXPECTF-- --EXPECTF--
bool(true) bool(true)

View file

@ -22,7 +22,6 @@ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "data"); curl_setopt($ch, CURLOPT_POSTFIELDS, "data");
curl_exec($ch); curl_exec($ch);
var_dump(curl_getinfo($ch, CURLINFO_EFFECTIVE_METHOD)); var_dump(curl_getinfo($ch, CURLINFO_EFFECTIVE_METHOD));
curl_close($ch);
?> ?>
--EXPECT-- --EXPECT--
string(4) "POST" string(4) "POST"

View file

@ -21,7 +21,6 @@ curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
var_dump(curl_setopt($ch, CURLOPT_MIME_OPTIONS, CURLMIMEOPT_FORMESCAPE)); var_dump(curl_setopt($ch, CURLOPT_MIME_OPTIONS, CURLMIMEOPT_FORMESCAPE));
curl_exec($ch); curl_exec($ch);
curl_close($ch);
?> ?>
--EXPECT-- --EXPECT--
bool(true) bool(true)

View file

@ -29,7 +29,6 @@ var_dump(curl_setopt($ch, CURLOPT_SSH_HOSTKEYFUNCTION, function ($ch, $keytype,
return CURLKHMATCH_OK; return CURLKHMATCH_OK;
})); }));
curl_exec($ch); curl_exec($ch);
curl_close($ch);
?> ?>
--EXPECT-- --EXPECT--
bool(true) bool(true)

View file

@ -25,7 +25,6 @@ var_dump(curl_setopt($ch, CURLOPT_PROTOCOLS_STR, "FilE,DICT"));
var_dump(curl_setopt($ch, CURLOPT_PROTOCOLS_STR, "DICT")); var_dump(curl_setopt($ch, CURLOPT_PROTOCOLS_STR, "DICT"));
var_dump(curl_setopt($ch, CURLOPT_REDIR_PROTOCOLS_STR, "HTTP")); var_dump(curl_setopt($ch, CURLOPT_REDIR_PROTOCOLS_STR, "HTTP"));
curl_exec($ch); curl_exec($ch);
curl_close($ch);
?> ?>
--EXPECTF-- --EXPECTF--
Warning: curl_setopt(): The FILE protocol cannot be activated when an open_basedir is set in %s on line %d Warning: curl_setopt(): The FILE protocol cannot be activated when an open_basedir is set in %s on line %d

View file

@ -23,7 +23,6 @@ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
var_dump(curl_setopt($ch, CURLOPT_WS_OPTIONS, 0)); var_dump(curl_setopt($ch, CURLOPT_WS_OPTIONS, 0));
var_dump(curl_setopt($ch, CURLOPT_WS_OPTIONS, CURLWS_RAW_MODE)); var_dump(curl_setopt($ch, CURLOPT_WS_OPTIONS, CURLWS_RAW_MODE));
curl_exec($ch); curl_exec($ch);
curl_close($ch);
?> ?>
--EXPECTF-- --EXPECTF--
bool(%s) bool(%s)

View file

@ -22,7 +22,6 @@ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
var_dump(curl_setopt($ch, CURLOPT_CA_CACHE_TIMEOUT, 1)); var_dump(curl_setopt($ch, CURLOPT_CA_CACHE_TIMEOUT, 1));
var_dump(curl_setopt($ch, CURLOPT_QUICK_EXIT, 1000)); var_dump(curl_setopt($ch, CURLOPT_QUICK_EXIT, 1000));
curl_exec($ch); curl_exec($ch);
curl_close($ch);
?> ?>
--EXPECT-- --EXPECT--
bool(true) bool(true)

View file

@ -11,6 +11,7 @@ $ch = curl_init();
curl_close($ch); curl_close($ch);
var_dump($ch); var_dump($ch);
?> ?>
--EXPECT-- --EXPECTF--
object(CurlHandle)#1 (0) { Deprecated: Function curl_close() is deprecated since 8.5, as it has no effect since PHP 8.0 in %s on line %d
object(CurlHandle)#%d (0) {
} }

View file

@ -21,10 +21,9 @@ curl
curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
$copy = curl_copy_handle($ch); $copy = curl_copy_handle($ch);
curl_close($ch); $ch = null;
$curl_content = curl_exec($copy); $curl_content = curl_exec($copy);
curl_close($copy);
var_dump( $curl_content ); var_dump( $curl_content );
?> ?>

View file

@ -22,10 +22,9 @@ curl
curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
$copy = curl_copy_handle($ch); $copy = curl_copy_handle($ch);
curl_close($ch); $ch = null;
$curl_content = curl_exec($copy); $curl_content = curl_exec($copy);
curl_close($copy);
var_dump( $curl_content ); var_dump( $curl_content );
?> ?>

View file

@ -23,10 +23,9 @@ curl
$curl_content = curl_exec($ch); $curl_content = curl_exec($ch);
$copy = curl_copy_handle($ch); $copy = curl_copy_handle($ch);
curl_close($ch); $ch = null;
$curl_content_copy = curl_exec($copy); $curl_content_copy = curl_exec($copy);
curl_close($copy);
var_dump( $curl_content_copy ); var_dump( $curl_content_copy );
?> ?>

View file

@ -25,10 +25,9 @@ curl
$curl_content = curl_exec($ch); $curl_content = curl_exec($ch);
$copy = curl_copy_handle($ch); $copy = curl_copy_handle($ch);
curl_close($ch); $ch = null;
$curl_content_copy = curl_exec($copy); $curl_content_copy = curl_exec($copy);
curl_close($copy);
var_dump( $curl_content_copy ); var_dump( $curl_content_copy );
?> ?>

View file

@ -30,7 +30,11 @@ curl
curl_close($copy); curl_close($copy);
?> ?>
--EXPECT-- --EXPECTF--
*** Testing curl copy handle with User Agent *** *** Testing curl copy handle with User Agent ***
string(9) "cURL phpt" string(9) "cURL phpt"
string(9) "cURL phpt" string(9) "cURL phpt"
Deprecated: Function curl_close() is deprecated since 8.5, as it has no effect since PHP 8.0 in %s on line %d
Deprecated: Function curl_close() is deprecated since 8.5, as it has no effect since PHP 8.0 in %s on line %d

View file

@ -20,10 +20,9 @@ curl
curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
$copy = curl_copy_handle($ch); $copy = curl_copy_handle($ch);
curl_close($ch); $ch = null;
$curl_content = curl_exec($copy); $curl_content = curl_exec($copy);
curl_close($copy);
var_dump( $curl_content ); var_dump( $curl_content );
?> ?>

View file

@ -29,7 +29,11 @@ curl_close($ch2);
--EXPECTF-- --EXPECTF--
bool(true) bool(true)
string(%d) "curl_copy_handle_variation3.txt|application/octet-stream|5" string(%d) "curl_copy_handle_variation3.txt|application/octet-stream|5"
Deprecated: Function curl_close() is deprecated since 8.5, as it has no effect since PHP 8.0 in %s on line %d
string(%d) "curl_copy_handle_variation3.txt|application/octet-stream|5" string(%d) "curl_copy_handle_variation3.txt|application/octet-stream|5"
Deprecated: Function curl_close() is deprecated since 8.5, as it has no effect since PHP 8.0 in %s on line %d
--CLEAN-- --CLEAN--
<?php <?php
@unlink(__DIR__ . '/curl_copy_handle_variation3.txt'); @unlink(__DIR__ . '/curl_copy_handle_variation3.txt');

View file

@ -42,8 +42,14 @@ curl_close($ch3);
bool(true) bool(true)
bool(true) bool(true)
string(%d) "abc.txt|application/octet-stream|5" string(%d) "abc.txt|application/octet-stream|5"
Deprecated: Function curl_close() is deprecated since 8.5, as it has no effect since PHP 8.0 in %s on line %d
string(%d) "def.txt|application/octet-stream|11" string(%d) "def.txt|application/octet-stream|11"
Deprecated: Function curl_close() is deprecated since 8.5, as it has no effect since PHP 8.0 in %s on line %d
string(%d) "def.txt|application/octet-stream|11" string(%d) "def.txt|application/octet-stream|11"
Deprecated: Function curl_close() is deprecated since 8.5, as it has no effect since PHP 8.0 in %s on line %d
===DONE=== ===DONE===
--CLEAN-- --CLEAN--
<?php <?php

View file

@ -33,8 +33,6 @@ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_exec($ch); curl_exec($ch);
var_dump(curl_error($ch)); var_dump(curl_error($ch));
curl_close($ch);
?> ?>
--EXPECTF-- --EXPECTF--
== Testing curl_error with a fake URL == == Testing curl_error with a fake URL ==

View file

@ -35,5 +35,6 @@ echo "Closed correctly\n";
<?php <?php
unlink(__DIR__ . '/curl_file_deleted_before_curl_close.tmp'); unlink(__DIR__ . '/curl_file_deleted_before_curl_close.tmp');
?> ?>
--EXPECT-- --EXPECTF--
Deprecated: Function curl_close() is deprecated since 8.5, as it has no effect since PHP 8.0 in %s on line %d
Closed correctly Closed correctly

View file

@ -61,8 +61,6 @@ curl_setopt($ch, CURLOPT_URL, "{$host}/get.inc?test=post");
$params = array('file' => '@' . __DIR__ . '/curl_testdata1.txt'); $params = array('file' => '@' . __DIR__ . '/curl_testdata1.txt');
curl_setopt($ch, CURLOPT_POSTFIELDS, $params); curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
var_dump(curl_exec($ch)); var_dump(curl_exec($ch));
curl_close($ch);
?> ?>
--EXPECTF-- --EXPECTF--
string(%d) "curl_testdata1.txt|application/octet-stream|6" string(%d) "curl_testdata1.txt|application/octet-stream|6"

View file

@ -17,7 +17,6 @@ $params = array('file' => $file);
var_dump(curl_setopt($ch, CURLOPT_POSTFIELDS, $params)); var_dump(curl_setopt($ch, CURLOPT_POSTFIELDS, $params));
var_dump(curl_exec($ch)); var_dump(curl_exec($ch));
curl_close($ch);
?> ?>
--EXPECT-- --EXPECT--
bool(true) bool(true)

View file

@ -50,8 +50,6 @@ if (false === getenv('PHP_CURL_FTP_REMOTE_PASSWD')) exit("skip PHP_CURL_FTP_REM
$result = curl_exec ( $ch ); $result = curl_exec ( $ch );
var_dump ( $result ); var_dump ( $result );
curl_close ( $ch );
?> ?>
--EXPECT-- --EXPECT--
bool(true) bool(true)

View file

@ -25,10 +25,6 @@ do {
while ($info = curl_multi_info_read($mh)) { while ($info = curl_multi_info_read($mh)) {
var_dump($info); var_dump($info);
} }
foreach ($urls as $i => $url) {
curl_close($conn[$i]);
}
?> ?>
--EXPECTF-- --EXPECTF--
array(3) { array(3) {

View file

@ -47,7 +47,6 @@ if (false === getenv('PHP_CURL_FTP_REMOTE_PASSWD')) exit("skip PHP_CURL_FTP_REM
var_dump(is_string(curl_multi_getcontent($ch))); var_dump(is_string(curl_multi_getcontent($ch)));
curl_multi_remove_handle($cmh, $ch); curl_multi_remove_handle($cmh, $ch);
curl_close($ch);
curl_multi_close($cmh); curl_multi_close($cmh);
?> ?>
--EXPECT-- --EXPECT--

View file

@ -38,7 +38,6 @@ $ch = curl_init();
curl_setopt_array($ch, $options); curl_setopt_array($ch, $options);
$curl_content = curl_exec($ch); $curl_content = curl_exec($ch);
curl_close($ch);
$conn = stream_socket_accept($socket); $conn = stream_socket_accept($socket);
echo stream_get_contents($conn); echo stream_get_contents($conn);

View file

@ -44,7 +44,6 @@ do {
if ($handle !== null) { if ($handle !== null) {
$responses[] = curl_multi_getcontent($info['handle']); $responses[] = curl_multi_getcontent($info['handle']);
curl_multi_remove_handle($mh, $handle); curl_multi_remove_handle($mh, $handle);
curl_close($handle);
} }
} }
} while ($info); } while ($info);

View file

@ -48,7 +48,6 @@ do {
if ($handle !== null) { if ($handle !== null) {
$responses[] = curl_multi_getcontent($info['handle']); $responses[] = curl_multi_getcontent($info['handle']);
curl_multi_remove_handle($mh, $handle); curl_multi_remove_handle($mh, $handle);
curl_close($handle);
} }
} }
} while ($info); } while ($info);

View file

@ -31,7 +31,6 @@ curl_setopt($oCurl, CURLOPT_UPLOAD, 1);
curl_setopt($oCurl, CURLOPT_READFUNCTION, "custom_readfunction" ); curl_setopt($oCurl, CURLOPT_READFUNCTION, "custom_readfunction" );
curl_setopt($oCurl, CURLOPT_INFILE, $hReadHandle ); curl_setopt($oCurl, CURLOPT_INFILE, $hReadHandle );
curl_exec($oCurl); curl_exec($oCurl);
curl_close($oCurl);
fclose ($hReadHandle); fclose ($hReadHandle);

View file

@ -28,7 +28,6 @@ curl_setopt($oCurl, CURLOPT_UPLOAD, 1);
curl_setopt($oCurl, CURLOPT_READFUNCTION, $callback); curl_setopt($oCurl, CURLOPT_READFUNCTION, $callback);
curl_setopt($oCurl, CURLOPT_INFILE, $hReadHandle ); curl_setopt($oCurl, CURLOPT_INFILE, $hReadHandle );
curl_exec($oCurl); curl_exec($oCurl);
curl_close($oCurl);
fclose ($hReadHandle); fclose ($hReadHandle);

View file

@ -23,8 +23,6 @@ curl_reset($ch);
curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file); curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file);
curl_exec($ch); curl_exec($ch);
curl_close($ch);
fclose($testfile_fp); fclose($testfile_fp);
echo file_get_contents($test_file); echo file_get_contents($test_file);

View file

@ -24,8 +24,6 @@ echo curl_getinfo($ch, CURLINFO_HEADER_OUT);
curl_setopt($ch, CURLOPT_ACCEPT_ENCODING, NULL); curl_setopt($ch, CURLOPT_ACCEPT_ENCODING, NULL);
curl_exec($ch); curl_exec($ch);
echo curl_getinfo($ch, CURLINFO_HEADER_OUT); echo curl_getinfo($ch, CURLINFO_HEADER_OUT);
curl_close($ch);
?> ?>
--EXPECTF-- --EXPECTF--
GET /get.inc?test= HTTP/1.1 GET /get.inc?test= HTTP/1.1

View file

@ -21,7 +21,6 @@ foreach ([
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
var_dump(curl_setopt($ch, CURLOPT_FOLLOWLOCATION, $follow)); var_dump(curl_setopt($ch, CURLOPT_FOLLOWLOCATION, $follow));
var_dump(curl_exec($ch)); var_dump(curl_exec($ch));
curl_close($ch);
} }
?> ?>
--EXPECTF-- --EXPECTF--

View file

@ -43,7 +43,6 @@ ob_start(); // start output buffering
curl_setopt_array($ch, $options); curl_setopt_array($ch, $options);
$returnContent = curl_exec($ch); $returnContent = curl_exec($ch);
curl_close($ch);
var_dump($returnContent); var_dump($returnContent);
isset($tempname) and is_file($tempname) and @unlink($tempname); isset($tempname) and is_file($tempname) and @unlink($tempname);

View file

@ -41,9 +41,6 @@ fclose($handle);
unset($handle); unset($handle);
var_dump(preg_replace('/[\r\n]/', ' ', file_get_contents($temp_file))); var_dump(preg_replace('/[\r\n]/', ' ', file_get_contents($temp_file)));
@unlink($temp_file); @unlink($temp_file);
curl_close($ch);
?> ?>
--EXPECTF-- --EXPECTF--
*** Testing curl_setopt with CURLOPT_STDERR *** Testing curl_setopt with CURLOPT_STDERR

View file

@ -24,7 +24,7 @@ try {
} }
$curl_content = curl_exec($ch); $curl_content = curl_exec($ch);
curl_close($ch); $ch = null;
var_dump( $curl_content ); var_dump( $curl_content );
@ -36,7 +36,7 @@ curl_setopt($ch, CURLOPT_URL, $host);
$curl_content = curl_exec($ch); $curl_content = curl_exec($ch);
ob_end_clean(); ob_end_clean();
curl_close($ch); $ch = null;
var_dump( $curl_content ); var_dump( $curl_content );
?> ?>

View file

@ -21,7 +21,7 @@ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_URL, $url);
$curl_content = curl_exec($ch); $curl_content = curl_exec($ch);
curl_close($ch); $ch = null;
var_dump( $curl_content ); var_dump( $curl_content );
@ -34,7 +34,7 @@ curl_setopt($ch, CURLOPT_URL, $url);
ob_start(); ob_start();
$curl_content = curl_exec($ch); $curl_content = curl_exec($ch);
ob_end_clean(); ob_end_clean();
curl_close($ch); $ch = null;
var_dump( $curl_content ); var_dump( $curl_content );
?> ?>

View file

@ -82,7 +82,7 @@ try {
$response = curl_exec($ch); $response = curl_exec($ch);
check_response($response, $clientCertSubject); check_response($response, $clientCertSubject);
check_error($ch); check_error($ch);
curl_close($ch); $ch = null;
echo "\n"; echo "\n";
echo "case 2: empty client cert and key from string\n"; echo "case 2: empty client cert and key from string\n";
@ -96,7 +96,7 @@ try {
$response = curl_exec($ch); $response = curl_exec($ch);
check_response($response, $clientCertSubject); check_response($response, $clientCertSubject);
check_error($ch); check_error($ch);
curl_close($ch); $ch = null;
echo "\n"; echo "\n";
echo "case 3: client cert and empty key from string\n"; echo "case 3: client cert and empty key from string\n";
@ -110,7 +110,7 @@ try {
$response = curl_exec($ch); $response = curl_exec($ch);
check_response($response, $clientCertSubject); check_response($response, $clientCertSubject);
check_error($ch); check_error($ch);
curl_close($ch); $ch = null;
echo "\n"; echo "\n";
echo "case 4: client cert and key from file\n"; echo "case 4: client cert and key from file\n";
@ -124,7 +124,7 @@ try {
$response = curl_exec($ch); $response = curl_exec($ch);
check_response($response, $clientCertSubject); check_response($response, $clientCertSubject);
check_error($ch); check_error($ch);
curl_close($ch); $ch = null;
echo "\n"; echo "\n";
echo "case 5: issuer cert from file\n"; echo "case 5: issuer cert from file\n";
@ -140,7 +140,7 @@ try {
$response = curl_exec($ch); $response = curl_exec($ch);
check_response($response, $clientCertSubject); check_response($response, $clientCertSubject);
check_error($ch); check_error($ch);
curl_close($ch); $ch = null;
echo "\n"; echo "\n";
echo "case 6: issuer cert from string\n"; echo "case 6: issuer cert from string\n";
@ -156,7 +156,7 @@ try {
$response = curl_exec($ch); $response = curl_exec($ch);
check_response($response, $clientCertSubject); check_response($response, $clientCertSubject);
check_error($ch); check_error($ch);
curl_close($ch); $ch = null;
echo "\n"; echo "\n";
echo "case 7: empty issuer cert from string\n"; echo "case 7: empty issuer cert from string\n";
@ -172,7 +172,7 @@ try {
$response = curl_exec($ch); $response = curl_exec($ch);
check_response($response, $clientCertSubject); check_response($response, $clientCertSubject);
check_error($ch); check_error($ch);
curl_close($ch); $ch = null;
} finally { } finally {
// clean up server process // clean up server process

View file

@ -33,8 +33,6 @@ var_dump($host);
curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_URL, $url);
var_dump(curl_setopt($ch, CURLOPT_SSH_HOSTKEYFUNCTION, $callback)); var_dump(curl_setopt($ch, CURLOPT_SSH_HOSTKEYFUNCTION, $callback));
curl_exec($ch); curl_exec($ch);
curl_close($ch);
?> ?>
--EXPECT-- --EXPECT--
Trampoline for trampoline Trampoline for trampoline

View file

@ -22,7 +22,6 @@ if (curl_exec($ch)) {
usleep(300); usleep(300);
var_dump(curl_upkeep($ch)); var_dump(curl_upkeep($ch));
} }
curl_close($ch);
?> ?>
--EXPECT-- --EXPECT--
bool(true) bool(true)

View file

@ -26,7 +26,6 @@ $ch = curl_init();
curl_setopt($ch, CURLOPT_WRITEFUNCTION, 'curl_callback'); curl_setopt($ch, CURLOPT_WRITEFUNCTION, 'curl_callback');
curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file); curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file);
curl_exec($ch); curl_exec($ch);
curl_close($ch);
// cleanup // cleanup
unlink($log_file); unlink($log_file);

View file

@ -23,7 +23,6 @@ $ch = curl_init();
curl_setopt($ch, CURLOPT_FILE, $testfile_fp); curl_setopt($ch, CURLOPT_FILE, $testfile_fp);
curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file); curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file);
curl_exec($ch); curl_exec($ch);
curl_close($ch);
fclose($testfile_fp); fclose($testfile_fp);

View file

@ -21,7 +21,6 @@ $ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file); curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file);
$result = curl_exec($ch); $result = curl_exec($ch);
curl_close($ch);
echo $result; echo $result;

View file

@ -20,7 +20,6 @@ $ch = curl_init();
curl_setopt($ch, CURLOPT_FILE, STDOUT); curl_setopt($ch, CURLOPT_FILE, STDOUT);
curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file); curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file);
curl_exec($ch); curl_exec($ch);
curl_close($ch);
// cleanup // cleanup
unlink($log_file); unlink($log_file);

View file

@ -24,7 +24,6 @@ $ch = curl_init();
curl_setopt($ch, CURLOPT_WRITEFUNCTION, $callback); curl_setopt($ch, CURLOPT_WRITEFUNCTION, $callback);
curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file); curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file);
curl_exec($ch); curl_exec($ch);
curl_close($ch);
?> ?>
--CLEAN-- --CLEAN--

View file

@ -24,8 +24,6 @@ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADERFUNCTION, 'curl_header_callback'); curl_setopt($ch, CURLOPT_HEADERFUNCTION, 'curl_header_callback');
curl_setopt($ch, CURLOPT_URL, $host); curl_setopt($ch, CURLOPT_URL, $host);
curl_exec($ch); curl_exec($ch);
curl_close($ch);
?> ?>
--EXPECTF-- --EXPECTF--
HTTP/1.1 %d %s HTTP/1.1 %d %s

View file

@ -6,8 +6,6 @@ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$body = curl_exec($ch); $body = curl_exec($ch);
curl_close($ch);
if ($body !== "Caddy is up and running") { if ($body !== "Caddy is up and running") {
die("skip test needs Caddy"); die("skip test needs Caddy");
} }