Re: net_get_interfaces()
| From: | Florian Anderiasch | Date: | Sun, 26 Nov 2017 16:28:27 +0000 |
| Subject: | Re: net_get_interfaces() | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-101155@lists.php.net to get a copy of this message | ||
On 26.11.2017 17:10, Sara Golemon wrote:
> On Sun, Nov 26, 2017 at 10:53 AM, Florian Anderiasch <ml@anderiasch.de> wrote:
>> Looks good in theory, but without a lot of thought, how likely is this
>> to break/work on "supported" operating systems? (Which ones are that,
>> actually? http://php.net/manual/en/install.unix.php lists
>> the BSDs and
>> Solaris and HP/UX)
>>
>> I know, it explicitly mentions Windows and Linux - also probably someone
>> tried it on OSX, and I don't think (Free|Open|Net)BSD will be a big
>> problem here, but as I'm no expert on that - does that matter? Will it
>> need "just a little work" or could the more exotic ones be more problematic?
>>
> Without a comprehensive CI matrix to run diffs like this against,
> there's no way to be absolutely certain it'll work everywhere.
>
> That said, the config.m4 changes specifically test for the new APIs
> being used. If they fail to compile in a standalone environment, the
> new function isn't enabled for compilation in the main build. So, at
> worst, we may find some OSs (AIX, Solaris, etc...) simply don't gain
> the new functionality, but it shouldn't {knock on wood} cause any
> builds to break. If it does, we have an entire year for interested
> parties to catch it.
Yeah, I know, and I'd agree on the "absolutely certain" part - but as
this is not an extension, I have somewhat of an uneasy feeling to even
merge this without some at least rudimentary testing on "all" OSes. I am
confident it would probably work on most and can be fixed on the others
- but I see that as a TODO during the PR phase.
Speaking from a user PoV - if this simply doesn't work on some OSes for
no good reason.. that's a pretty leaky abstraction. If it's in the PHP
core, I'd assume it will work. Also I wouldn't count on it getting done,
just because there's one year of time and "we have no CI for that" is
not a good excuse in my book.
Don't get me wrong, this sounds like a useful feature - but (and my wild
guessing could be inaccurate) I think it's low-level enough that the
differences might matter.
Greetings,
Florian