Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stop compiling PHP extensions into the PHP binaries #4701

Closed
cweagans opened this issue Aug 24, 2015 · 24 comments
Closed

Stop compiling PHP extensions into the PHP binaries #4701

cweagans opened this issue Aug 24, 2015 · 24 comments

Comments

@cweagans
Copy link

I know at least mcrypt is bundled into Travis' PHP installations, because that's the one that I care about. In any case, though, I think it makes much more sense to build PHP with the minimal amount of stuff built into the binary, and then give users a way to turn on and off extensions (just via php.ini is totally adequate).

You could do this in a backward compatible way, too. mcrypt, as an example: since it's already enabled and bundled with PHP, when/if you switch to having it as an extension, you can just have it included in php.ini by default.

My use case is https://github.com/cweagans/mcrypt-polyfill (which is basically a way to provide the mcrypt_* functions backed by crypto libraries that are more actively maintained, namely OpenSSL), but I've seen other cases where being able to disable PHP extensions would be desirable. http://stackoverflow.com/questions/26237641/disable-core-php-extension-on-travis-ci is an example that wants to do this with the intl extension. Generally, if a PHP extension is optional, it should be possible to disable it for testing purposes.

Bonus points if you provide wrapper scripts to enable/disable PHP extensions, so that in my .travis.yml, I can just do:

before_script:
  - [ -z "${USE_MCRYPT}" ] || travis_disable_php_ext mcrypt

mcrypt should really be disabled by default, though. It's completely unmaintained, which is the entire reason I'm building mcrypt-polyfill. People shouldn't be depending on mcrypt for important things.

@j0k3r
Copy link

j0k3r commented Feb 11, 2016

Any update on this? I would like to disable the tidy extension.

@danielstjules
Copy link

Interested in using this for https://github.com/danielstjules/Stringy as well so I can selectively disable mbstring for some jobs to ensure things work when polyfilled. :)

@lucasmichot
Copy link

Any news on this ?

@JordanRL
Copy link

👍

I have a library for doing arbitrary precision math (https://github.com/JordanRL/Fermat). For this library I have two extensions that I'm concerned with as far as testing goes:

ext-bcmath
ext-gmp

The code I have uses the gmp extension when dealing with integers (for speed), and this extension is included by default in Travis. It's somewhat nice that it is included, because Travis offers no good way to install PHP extensions without using sudo.

That said, my library polyfills in all cases where gmp is unavailable. Since it's always available on Travis, I have no way to get coverage for my polyfill code.

@BenMorel
Copy link

Any news on this? Plenty of meaningful examples have been given in this thread already, it would be nice to have some feedback from Travis!

BenMorel added a commit to brick/validation that referenced this issue Feb 27, 2018
This really is a workaround for this issue:
travis-ci/travis-ci#4701

There is currently no way to disable PHP extensions on Travis CI, so we have to conditionally use them in the code itself.
@stale
Copy link

stale bot commented May 28, 2018

Thanks for contributing to this issue. As it has been 90 days since the last activity, we are automatically closing the issue in 24 hours. This is often because the request was already solved in some way and it just wasn't updated or it's no longer applicable. If that's not the case, please do feel free to either reopen this issue or open a new one. We'll gladly take a look again! You can read more here: https://blog.travis-ci.com/2018-03-09-closing-old-issues

@stale stale bot added the stale label May 28, 2018
@cweagans
Copy link
Author

This issue hasn't been resolved.

@stale
Copy link

stale bot commented Aug 26, 2018

Thanks for contributing to this issue. As it has been 90 days since the last activity, we are automatically closing the issue in 24 hours. This is often because the request was already solved in some way and it just wasn't updated or it's no longer applicable. If that's not the case, please do feel free to either reopen this issue or open a new one. We'll gladly take a look again! You can read more here: https://blog.travis-ci.com/2018-03-09-closing-old-issues

@stale stale bot added the stale label Aug 26, 2018
@BenMorel
Copy link

This issue still hasn't been resolved.

@stale stale bot removed the stale label Aug 26, 2018
@stale
Copy link

stale bot commented Nov 24, 2018

Thanks for contributing to this issue. As it has been 90 days since the last activity, we are automatically closing the issue in 7 days. This is often because the request was already solved in some way and it just wasn't updated or it's no longer applicable. If that's not the case, please respond before the issue is closed, or open a new one after. We'll gladly take a look again! You can read more here: https://blog.travis-ci.com/2018-03-09-closing-old-issues

@stale stale bot added the stale label Nov 24, 2018
@BenMorel
Copy link

Still unresolved, stalie! See you in 3 months.

@stale stale bot removed the stale label Nov 24, 2018
@stale
Copy link

stale bot commented Feb 23, 2019

Thanks for contributing to this issue. As it has been 90 days since the last activity, we are automatically closing the issue in 7 days. This is often because the request was already solved in some way and it just wasn't updated or it's no longer applicable. If that's not the case, please respond before the issue is closed, or open a new one after. We'll gladly take a look again! You can read more here: https://blog.travis-ci.com/2018-03-09-closing-old-issues

@stale stale bot added the stale label Feb 23, 2019
@cweagans
Copy link
Author

Still a problem.

@stale stale bot removed the stale label Feb 23, 2019
@stale
Copy link

stale bot commented May 24, 2019

Thanks for contributing to this issue. As it has been 90 days since the last activity, we are automatically closing the issue in 7 days. This is often because the request was already solved in some way and it just wasn't updated or it's no longer applicable. If that's not the case, please respond before the issue is closed, or open a thread on the community forum. We'll gladly take a look again! You can read more here: https://blog.travis-ci.com/2018-03-09-closing-old-issues

@stale stale bot added the stale label May 24, 2019
@j0k3r
Copy link

j0k3r commented May 24, 2019

Still not.

@stale stale bot removed the stale label May 24, 2019
@stale
Copy link

stale bot commented Aug 22, 2019

Thanks for contributing to this issue. As it has been 90 days since the last activity, we are automatically closing the issue in 7 days. This is often because the request was already solved in some way and it just wasn't updated or it's no longer applicable. If that's not the case, please respond before the issue is closed, or open a thread on the community forum. We'll gladly take a look again! You can read more here: https://blog.travis-ci.com/2018-03-09-closing-old-issues

@stale stale bot added the stale label Aug 22, 2019
@giggsey
Copy link

giggsey commented Aug 22, 2019

Still not fixed.

👋 See you in 3 months.

@stale stale bot removed the stale label Aug 22, 2019
@stale
Copy link

stale bot commented Nov 20, 2019

Thanks for contributing to this issue. As it has been 90 days since the last activity, we are automatically closing the issue in 7 days. This is often because the request was already solved in some way and it just wasn't updated or it's no longer applicable. If that's not the case, please respond before the issue is closed, or open a thread on the community forum. We'll gladly take a look again! You can read more here: https://blog.travis-ci.com/2018-03-09-closing-old-issues

@stale stale bot added the stale label Nov 20, 2019
@giggsey
Copy link

giggsey commented Nov 20, 2019

3 months already?

Where does the time go.

@stale stale bot removed the stale label Nov 20, 2019
@cweagans
Copy link
Author

If this hasn't been solved after 4 years, I don't have a lot of hope that it will get resolved at all. I've moved off of Travis, so I'm going to go ahead and unsubscribe from this issue. Hope y'all get what you need here.

@stale
Copy link

stale bot commented Feb 18, 2020

Thanks for contributing to this issue. As it has been 90 days since the last activity, we are automatically closing the issue in 7 days. This is often because the request was already solved in some way and it just wasn't updated or it's no longer applicable. If that's not the case, please respond before the issue is closed, or open a thread on the community forum. We'll gladly take a look again! You can read more here: https://blog.travis-ci.com/2018-03-09-closing-old-issues

@stale stale bot added the stale label Feb 18, 2020
@BenMorel
Copy link

Still not resolved, clutterbot!

@stale stale bot removed the stale label Feb 18, 2020
@stale
Copy link

stale bot commented May 19, 2020

Thanks for contributing to this issue. As it has been 90 days since the last activity, we are automatically closing the issue in 7 days. This is often because the request was already solved in some way and it just wasn't updated or it's no longer applicable. If that's not the case, please respond before the issue is closed, or open a thread on the community forum. We'll gladly take a look again! You can read more here: https://blog.travis-ci.com/2018-03-09-closing-old-issues

@stale stale bot added the stale label May 19, 2020
@stale stale bot closed this as completed May 30, 2020
@BenMorel
Copy link

Shame on stalebot. Still not resolved!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants