Stricter requirements for libxml

php.internals

Niels Dossche

2 years ago
Hi internals Libxml is used as the underlying library for many PHP extensions. Interestingly, libxml can be built with supports for various features disabled. E.g. you can build libxml without XPath, Schemas, HTML, ... support. In that case, these features are unavailable in PHP. E.g. some classes may not be defined or functions may emit a warning instead of performing an action. I'm thinking of proposing an RFC that puts stricter requirements on libxml at build time. That would make such features a requirement during PHP's build process. This will simplify maintenance and will also make sure that users can rely on these functionalities to always be available. Please let me know what you think. Kind regards Niels

Sebastian Bergmann

2 years ago
Am 10.05.2024 um 17:51 schrieb Niels Dossche:
> Please let me know what you think.
+1

Derick Rethans

2 years ago
On Fri, 10 May 2024, Niels Dossche wrote:
> Hi internals > > Libxml is used as the underlying library for many PHP extensions. > Interestingly, libxml can be built with supports for various features disabled. > E.g. you can build libxml without XPath, Schemas, HTML, ... support. > In that case, these features are unavailable in PHP. E.g. some classes may not be defined or functions may emit a warning instead of performing an action. > > I'm thinking of proposing an RFC that puts stricter requirements on libxml at build time. > That would make such features a requirement during PHP's build process. > This will simplify maintenance and will also make sure that users can rely on these functionalities to always be available. > > Please let me know what you think.
That seems sensible. Did you find any Linux distribution that actively disables these features, or is this a "just in case" kind of change? cheers, Derick

Niels Dossche

2 years ago
On 14/05/2024 11:36, Derick Rethans wrote:
> On Fri, 10 May 2024, Niels Dossche wrote: > >> Hi internals >> >> Libxml is used as the underlying library for many PHP extensions. >> Interestingly, libxml can be built with supports for various features disabled. >> E.g. you can build libxml without XPath, Schemas, HTML, ... support. >> In that case, these features are unavailable in PHP. E.g. some classes may not be defined or functions may emit a warning instead of performing an action. >> >> I'm thinking of proposing an RFC that puts stricter requirements on libxml at build time. >> That would make such features a requirement during PHP's build process. >> This will simplify maintenance and will also make sure that users can rely on these functionalities to always be available. >> >> Please let me know what you think. > > That seems sensible. Did you find any Linux distribution that actively > disables these features, or is this a "just in case" kind of change? > > cheers, > Derick
I am not aware of a distro that disables these features. This is a "just in case" thing. The fact that I didn't find one is also a motivation to make this change: why should we make the code more complicated to support a configuration that doesn't seem to be used? :) Kind regards Niels