On 3 February 2016 at 09:03, Davey Shafik <da...@php.net> wrote: > Hi all, > > It's actually very difficult to be able to reliably determine that you are > running the _real_ PHP runtime and not something mimicking it.
The underlying problem seems to be caused by HHVM deliberately 'faking' the results of calls to zend_version() and the existing constants. What is there to stop any other PHP implementations from returning 'fake' data for that function or these new constants? And just to play devils advocate, why isn't this a problem that should be solved in those other versions of PHP? They're the ones re-using version strings and so causing confusion. I can see how this could be useful....I just can't see how this would be a permanent solution to the problem. As someone else said, this sounds like the old detecting browsers via "user agent headers" for browser detection. That became a complete nightmare as browsers kept imitating each other, and so the rules about strings became less and less useful. Perhaps it might be helpful to justify the RFC, if you can give some more context as to why code needs to know about what VM it is running on? cheers Dan -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php