Allow loading extensions by name

php.internals

François Laupretre

10 years ago
Hi, Can you please give your thoughts about a PR I just created : https://github.com/php/php-src/pull/1741 Loading extensions by name (instead of file name) provides a portable way of specifying extensions in an INI file. Example : extension=bz2 zend_extension=xdebug This will be converted to the right file name, depending on the platform. Of course, current configurations using filenames remain supported (no BC break), but the recommended way of specifying additional extensions in an INI file becomes 'by name' (See example php.ini files). If I get positive returns, I'll write an RFC targeting 7.1. Regards François

Martin Keckeis

10 years ago
Hello, 2016-01-28 21:20 GMT+01:00 François Laupretre <francois@php.net>:
> Hi, > > Can you please give your thoughts about a PR I just created : > > https://github.com/php/php-src/pull/1741 > > Loading extensions by name (instead of file name) provides a portable way > of specifying extensions in an INI file. Example : > > extension=bz2 > zend_extension=xdebug > > This will be converted to the right file name, depending on the platform. > Of course, current configurations using filenames remain supported (no BC > break), but the recommended way of specifying additional extensions in an > INI file becomes 'by name' (See example php.ini files). > > If I get positive returns, I'll write an RFC targeting 7.1. > > Regards > > François > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > >
i generally like it. Small improvement and optional. In your PR you wrote
> A typical example is the coexistence of a Windows development environment
and a Linux production. In such cases, it is impossible to write a single configuration file that will work in both environments, forcing developers to manually maintain two separate versions of the file. That will also not work (in some cases) with this change either. Some other settings can also be OS dependent - error_log - mail.log, SMTP, sendmail_path - some session settings - some path settings -... I think 100% portability will not be achieved very soon But regardless of that +1 from a PHP user Best regards Martin

François Laupretre

10 years ago
Hi, Le 29/01/2016 08:09, Martin Keckeis a écrit :
> Hello, > > 2016-01-28 21:20 GMT+01:00 François Laupretre <francois@php.net>: > >> Hi, >> >> Can you please give your thoughts about a PR I just created : >> >> https://github.com/php/php-src/pull/1741 >> >> Loading extensions by name (instead of file name) provides a portable way >> of specifying extensions in an INI file. Example : >> >> extension=bz2 >> zend_extension=xdebug >> >> This will be converted to the right file name, depending on the platform. >> Of course, current configurations using filenames remain supported (no BC >> break), but the recommended way of specifying additional extensions in an >> INI file becomes 'by name' (See example php.ini files). >> >> If I get positive returns, I'll write an RFC targeting 7.1. >> >> Regards >> >> François >> >> -- >> PHP Internals - PHP Runtime Development Mailing List >> To unsubscribe, visit: http://www.php.net/unsub.php >> >> > i generally like it. Small improvement and optional. > > In your PR you wrote >> A typical example is the coexistence of a Windows development environment > and a Linux production. In such cases, it is impossible to write a single > configuration file that will work in both environments, forcing developers > to manually maintain two separate versions of the file. > > That will also not work (in some cases) with this change either. > > Some other settings can also be OS dependent > - error_log > - mail.log, SMTP, sendmail_path > - some session settings > - some path settings > -... > > > I think 100% portability will not be achieved very soon
You're right, incompatibilities will remain everywhere absolute paths are provided but, in many cases, the only differences are the 'extension=' lines. Anyway, the main objective of this RFC is to hide the platform-specific details of extension file names, making life easier for beginners and documentation/script maintainers. Regards François

Lester Caine

10 years ago
On 29/01/16 08:32, François Laupretre wrote:
>> I think 100% portability will not be achieved very soon > > You're right, incompatibilities will remain everywhere absolute paths > are provided but, in many cases, the only differences are the > 'extension=' lines. > > Anyway, the main objective of this RFC is to hide the platform-specific > details of extension file names, making life easier for beginners and > documentation/script maintainers.
In addition, Linux distributions apply their own rules for adding extensions and even 'core' ones so that ini material for each is contained in it's own file. Windows is perhaps the only distribution that follows the convention of adding 'additional' extensions via the main .ini file, so it's only really beginners using windows that would be able to use these changes? Any Linux beginner is likely to be adding 'apache-phpx' and getting a working framework for that distribution?
-- Lester Caine - G8HFL ----------------------------- Contact - http://lsces.co.uk/wiki/?page=contact L.S.Caine Electronic Services - http://lsces.co.uk EnquirySolve - http://enquirysolve.com/ Model Engineers Digital Workshop - http://medw.co.uk Rainbow Digital Media - http://rainbowdigitalmedia.co.uk