I added a version comparison to my plugin in order to trigger an error on activation if the end user doesn't have PHP 5 or above installed. The problem is that even though it triggers the error and Wordpress informs me that it cannot activate the plugin due to a fatal error, it's still activating the plugin.
That, of course, is exactly the opposite of what I want happening.
The activation callback does a simple check,
if ( version_compare( phpversion(), '5.0', '<' ) )
trigger_error('', E_USER_ERROR);
The code that error_scrape gets looks like the following,
if ( $_GET['action'] == 'error_scrape' )
die( 'Message omitted for clarity' );
Yet the plugin still activates. Bad plugin, bad.