Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:105554 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 20384 invoked from network); 2 May 2019 10:55:59 -0000 Received: from unknown (HELO mout.gmx.net) (212.227.17.20) by pb1.pair.com with SMTP; 2 May 2019 10:55:59 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1556783913; bh=BjYbsf19luo8JqlmXTFRSC74lilRdZRxsKSvznKml+g=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=GPqawGAHfsjsYli1NYTVM80IHBi1UhcfMPzDwaGmLW+PNS3qiu9/mPEe1pV2ynSiH 981XYLqx7nqvkaekfAqVH4MS9XNc02hMHzsqJ5KLd4qOvPLA4ISAyOWTP/zFdBEckO GkE8QP00PYNBhH9dzZFgIqoUKg3KCDTT1ixs1M24= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.2.144] ([79.222.45.225]) by mail.gmx.com (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MFKKX-1hXN0i14HJ-00Fnz7; Thu, 02 May 2019 09:58:33 +0200 To: bishop@php.net Cc: PHP internals References: Message-ID: <4813ca95-2617-b892-3e53-8ee175e64187@gmx.de> Date: Thu, 2 May 2019 09:58:33 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: de-DE Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:aFm/BEIAPqXfUTq3XmFIShp9Z1r7a0vdYEOT1Wy6jj0LWHLN5Vg 9ASK7HMnqR7tohZ5mF8/e7Z5UBRhMJU0GEPHOSnsnfB0R3D+3u6Dgau44c4LIDEjsXA1SAF 49kr5zFuNN4+2PqT2pn9HDNORcvdrNNTrAtbAdC0uzOuzBZcU6xN/tAtNU1MPo6pboEItNw H8FH2oW5D8IUOr4C2rKuA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:ddCRn1WUIkA=:Gl4W0OMNIRVyIMcBgBMHDk x3YaN9ZBPP6QocW3RzTiXkeoJl5EeoSeAisrpUFqX4gccttrdMUFGqXwgFLs9ipfrVPG66N4g rOMY7o/u9rKAKtn1px91HqlzWCo+JFRuotkAVc5p6CpIp/BnHhvp9dbVZSb6cufUsfkmhr41J IXcU+oPf0W0LkCZDFOOPjPiWSGRs27iCliwOoVuBrHmlHXqa4awctI9RCz2aXjtKFxbBhcAtw loZHpoBGjsRX2t08PYLXbP1scvw4Z/jUqvzhnwJNnTcQbCmiSR3hsPGd5lWMTF0+tmJC8e1LH zmA1+6uj2hveTH0q9JMWdPRbUNz0Aepw871rU9An7JCyrDOZiEpP7oVaxhy/Rzos4nBC/Ayif bLGB8xGq/5HIAOAsg2zPDi5sXHmMfkRtqlwsx25kjDRMVc/hzgWwNOcbzb/i9o9zJDZw3THLd kHcWstFlXyuvsBpaVRpuLqkMmv712SOsNnqucwZ0nhfGP8mP8+yD3iIlNp9K2cqXEZ9ijh7Pj arydJkVtLz9O24CTJVEpmQteYwcGWTHCP2KlFy/0VMG5vzaWJNpAGEq1SWSV4bTGKb5k5gUUm FgRTnTkLTyxLs6o/ucrIwwXSvw/iyLAC/VUo6nc17fuuj1LjYPF0EdqNnEIJAB3ZVcHxFJlgZ ghLshgZmJxtTPepViIvuqwnCvhQHFQEc6JNH7Blvd43PzSAC/3CZ+o9l3GMt/+uFQHUt8e20H QwAvJ7gSXCw+tOqKKyarUDQI/8dB7s3VhbWi7rdzqjxBT7ckvUxyuiFJzz+SbcMUrw8gHxP1G Hr6pGvcH6ScNXMAAP8gJzmMz0zgZAbVdP7w1o0qjSHg0iQqt/sJBfXwdWGfpiPIncXb7O35Pp HIeRpOsGVL6zFEHNvAp9dzqALmmI1Cerzx/y4KekX3GP1dLyG265Gj25aYjSfQVGPCrBw4jEv 1SeQ4JoZfAw== Subject: Re: [PHP-DEV] Remove $age parameter of curl_version() From: cmbecker69@gmx.de ("Christoph M. Becker") On 01.05.2019 at 19:40, Bishop Bettini wrote: > On Wed, May 1, 2019 at 1:18 PM Christoph M. Becker > wrote: > >> curl_version()[1] (of ext/curl) makes curl_version_info()[2] (of >> libcurl) available to PHP userland. The latter requires to pass an age >> argument which usually is CURLVERSION_NOW, so that the information >> returned by the runtime matches the declarations used during compile >> time. For C programs it is simply necessary to pass this information, >> and it might make sense to pass something else than CURLVERSION_NOW, bu= t >> the PHP wrapper assumes that the return value of curl_version_info() >> matches the compile time declarations anyway, so passing anything else >> might give bad results. > > It looks like the ext/curl binding [1] handles run-time age values that > differ from compile-time, as it makes checks for if (d->age). Am I missi= ng > something? Indeed, as the binding is written, it's unlikely that bad results are returned. Still, using a newer "age" than available at compile time will neither provide the PHP program more information, nor would using an older "age" have real benefits. >> Thoughts? Do I overlook something important? > > Well, what about: > > if (false =3D=3D=3D curl_version(3)) { > throw new \Exception('Please rebuild PHP with curl at least > version 7.16.1'); > } It seems to me that wouldn't work anyway, since curl_version() only returns false if curl_version_info() returned NULL, but that won't happen[2]. > [1]: https://github.com/php/php-src/blob/master/ext/curl/interface.c#L18= 24 [2] =2D- Christoph M. Becker