The problem does not come from the plugin but from PHP: it does not load the firewall. It will keep displaying this error as long as you do not select the correct SAPI and INI file that will instruct PHP to load it.
1. Select “.user.ini” instead of php.ini. Since PHP5.3, this is the default per-directory INI file. Unlike php.ini, PHP reloads it once every 5 minutes. You may have to wait 5mn until it works (or restart Apache if it is your server).
2. If it does not work, you may have suPHP installed. Restart the installer and select “Apache/suPHP” instead of “Apache/FastCGI” + the correct PHP INI file (probably php.ini).
3. If it still does not work, you may have a recursion problem, i.e., the php.ini applies to the WordPress root folder only, but not to its subfolders (/wp-content/plugins/ninjafirewall). That would require the use of the PHPRC directive inside your .htaccess. To test this, you can download this script, rename it to “ninjacheck.php”, upload it to your WP root directory, access it with your browser and paste the output here. Ensure you have a php.ini file with NinjaFirewall’s instructions in the WP root directory before making this test.