setName('PHP'); $this->addPhpIniRequirement( 'date.timezone', true, false, 'date.timezone setting must be set', 'Set the "date.timezone" setting in php.ini* (like Europe/Paris).' ); $this->addPhpIniRequirement('detect_unicode', false); if (extension_loaded('suhosin')) { $this->addPhpIniRequirement( 'suhosin.executor.include.whitelist', create_function('$cfgValue', 'return false !== stripos($cfgValue, "phar");'), false, 'suhosin.executor.include.whitelist must be configured correctly in php.ini', 'Add "phar" to suhosin.executor.include.whitelist in php.ini*.' ); } if (extension_loaded('xdebug')) { $this->addPhpIniRequirement( 'xdebug.show_exception_trace', false, true ); $this->addPhpIniRequirement( 'xdebug.scream', false, true ); $this->addPhpIniRecommendation( 'xdebug.max_nesting_level', create_function('$cfgValue', 'return $cfgValue > 100;'), true, 'xdebug.max_nesting_level should be above 100 in php.ini', 'Set "xdebug.max_nesting_level" to e.g. "250" in php.ini* to stop Xdebug\'s infinite recursion protection erroneously throwing a fatal error in your project.' ); } $this->addPhpIniRequirement('safe_mode', false, true); $this->addPhpIniRequirement('detect_unicode', false, true); $this->addPhpIniRequirement('file_uploads', true, true); $this->addPhpIniRequirement('session.cache_limiter', ''); $this->addPhpIniRequirement('magic_quotes_gpc', false, true); $this->addPhpIniRequirement('magic_quotes_runtime', false, true); $this->addPhpIniRecommendation('short_open_tag', false); $this->addPhpIniRecommendation('register_globals', false, true); $this->addPhpIniRecommendation('session.auto_start', false); $this->addPhpIniRecommendation('display_errors', false, true); $this->addPhpIniRecommendation('display_startup_errors', false, true); $this->addPhpIniRecommendation('allow_url_fopen', true, true); $this->addPhpIniRecommendation('session.hash_bits_per_character', '6', true, 'session.hash_bits_per_character should be at least 6', 'Set session.hash_bits_per_character to 6 in php.ini'); $this->addPhpIniRecommendation('session.hash_function', true, true); $this->addPhpIniRecommendation('session.use_only_cookies', true, true); $this->addPhpIniRecommendation('session.use_cookies', true, true); $this->addPhpIniRecommendation('session.cookie_http_only', true, true); $this->addPhpIniRecommendation('session.cookie_secure', true, true, 'session.cookie_secure should be enabled in php.ini, but only if you use HTTPS'); } }