php / web-pecl

The PECL website
http://pecl.php.net
Other
31 stars 31 forks source link

Don't expect TS only extensions to have NTS builds #97

Closed cmb69 closed 2 weeks ago

cmb69 commented 2 weeks ago

As it is now, only DLLs of extensions which have been built for NTS and ZTS are shown on the respective extension page. This has probably been done to avoid "broken" extensions to be shown, to avoid confusion for users ("where are the ZTS builds?"), and likely to endorse NTS builds for security (ASLR) and stability reasons.

However, there are some extensions which do not support NTS builds by design, and I don't see a particularly good reason not to show their DLLs. To avoid issues with extensions which are supposed to be compatible with NTS and ZTS, we hard-code the list of extensions which are supposed to work in thread-safe mode only.


Note that I had committed this patch as 9d7578a3396c03e1fc58156f9f7c8753aab24f78 long ago, but was told to revert it by Anatol. Since a lot of time has passed, I suggest to re-apply the patch to avoid unnecessary work like https://github.com/krakjoe/parallel/pull/273, just because no DLLs are shown on https://pecl.php.net/package/parallel, although they are avaible (https://downloads.php.net/~windows/pecl/releases/parallel/1.2.2/).

@shivammathur, what do you think?

shivammathur commented 2 weeks ago

I agree, also in the new process, if we queue both NTS and ZTS builds and one of them fails, it does not upload that version, so if only ZTS builds are there it would be intentional.