@extends('themes.default1.installer.layout.installer') @section('environment') active @stop @section('content')

Environment Test

@if (Session::has('fail_to_change'))

{!!Session::get('fail_to_change')!!}

@endif message = $message; $this->status = $status; } } ?>

Probe

Probe Version:
Testing For:

This test will check prerequisites required to install Faveo

NOTE: FAVEO doesn't work properly without JavaScript. In order to install and run FAVEO to its full extent please make sure JavaScript is enabled in your browser.

= '644' && $f2 >= '755') { $results[] = new TestResult('File permission looks fine', STATUS_OK); return true; } else { if(isset($path1)){ $results[] = new TestResult('File permissions needed.
Change the permission manually on your server or click here.', STATUS_ERROR); } else { $results[] = new TestResult('File permissions needed.
Change the permission manually on your server or click here.', STATUS_ERROR); } return false; } } /** * Validate memory limit * * @param array $result */ function validate_memory_limit(&$results) { $memory_limit = php_config_value_to_bytes(ini_get('memory_limit')); $formatted_memory_limit = $memory_limit === -1 ? 'unlimited' : format_file_size($memory_limit); if ($memory_limit === -1 || $memory_limit >= 67108864) { $results[] = new TestResult('Your memory limit is: ' . $formatted_memory_limit, STATUS_OK); return true; } else { $results[] = new TestResult('Your memory is too low to complete the installation. Minimal value is 64MB, and you have it set to ' . $formatted_memory_limit, STATUS_ERROR); return false; } // if } // validate_memory_limit /** * Format filesize * * @param string $value * @return string */ function format_file_size($value) { $data = [ 'TB' => 1099511627776, 'GB' => 1073741824, 'MB' => 1048576, 'kb' => 1024, ]; // commented because of integer overflow on 32bit sistems // http://php.net/manual/en/language.types.integer.php#language.types.integer.overflow // $value = (integer) $value; foreach ($data as $unit => $bytes) { $in_unit = $value / $bytes; if ($in_unit > 0.9) { return trim(trim(number_format($in_unit, 2), '0'), '.') . $unit; } // if } // foreach return $value . 'b'; } // format_file_size function validate_zend_compatibility_mode(&$results) { $ok = true; if (version_compare(PHP_VERSION, '5.0') >= 0) { if (ini_get('zend.ze1_compatibility_mode')) { $results[] = new TestResult('zend.ze1_compatibility_mode is set to On. This can cause some strange problems. It is strongly suggested to turn this value to Off (in your php.ini file)', STATUS_WARNING); $ok = false; } else { $results[] = new TestResult('zend.ze1_compatibility_mode is turned Off', STATUS_OK); } // if } // if return $ok; } // validate_zend_compatibility_mode function validate_extensions(&$results) { $ok = true; $required_extensions = ['curl', 'ctype', 'imap', 'mbstring', 'openssl', 'tokenizer', 'zip', 'pdo', 'mysqli', 'bcmath', 'iconv', 'xml', 'json']; foreach ($required_extensions as $required_extension) { if (extension_loaded($required_extension)) { $results[] = new TestResult("Required extension '$required_extension' found", STATUS_OK); } else { $results[] = new TestResult("Extension '$required_extension' is required in order to run Faveo Helpdesk ", STATUS_ERROR); $ok = false; } // if } // foreach // Check for eAccelerator if (extension_loaded('eAccelerator') && ini_get('eaccelerator.enable')) { $results[] = new TestResult("eAccelerator opcode cache enabled. eAccelerator opcode cache causes Faveo Helpdesk to crash. Disable it for folder where Faveo Helpdesk is installed, or use APC instead: http://www.php.net/apc.", STATUS_ERROR); $ok = false; } // if // Check for XCache if (extension_loaded('XCache') && ini_get('xcache.cacher')) { $results[] = new TestResult("XCache opcode cache enabled. XCache opcode cache causes Faveo Helpdesk to crash. Disable it for folder where Faveo Helpdesk is installed, or use APC instead: http://www.php.net/apc.", STATUS_ERROR); $ok = false; } // if $recommended_extensions = [ // 'imap' => 'IMAP extension is used for connecting to mail server using IMAP settings to fetch emails in the system.', // 'mcrypt' => 'Optional extension', // 'gd' => 'GD is used for image manipulation. Without it, system is not able to create thumbnails for files or manage avatars, logos and project icons. Please refer to this page for installation instructions', // 'mbstring' => 'MultiByte String is used for work with Unicode. Without it, system may not split words and string properly and you can have weird question mark characters in Recent Activities for example. Please refer to this page for installation instructions', // 'curl' => 'cURL is used to support various network tasks. Please refer to this page for installation instructions', // 'iconv' => 'Iconv is used for character set conversion. Without it, system is a bit slower when converting different character set. Please refer to this page for installation instructions', // 'imap' => 'IMAP is used to connect to POP3 and IMAP servers. Without it, Incoming Mail module will not work. Please refer to this page for installation instructions', // 'zlib' => 'ZLIB is used to read and write gzip (.gz) compressed files', // SVN extension ommited, to avoid confusion ]; foreach ($recommended_extensions as $recommended_extension => $recommended_extension_desc) { if (extension_loaded($recommended_extension)) { $results[] = new TestResult("Recommended extension '$recommended_extension' found", STATUS_OK); } else { $results[] = new TestResult("Extension '$recommended_extension' was not found. $recommended_extension_desc", STATUS_WARNING); } // if } // foreach return $ok; } // validate_extensions /** * function to check if there are laravel required functions are disabled */ function checkDisabledFunctions(&$results) { $ok = true; $sets = explode(",", ini_get('disable_functions')); $required_functions = ['escapeshellarg']; // dd($required_functions,$sets); foreach ($sets as $key) { $key = trim($key); foreach ($required_functions as $value) { if($key == $value) { if (strpos(ini_get('disable_functions'), $key) !== false) { $results[] = new TestResult("Function '$value' is required in order to run Faveo Helpdesk. Please check php.ini to enable this function or contact your server administrator", STATUS_ERROR); $ok = false; } else { $results[] = new TestResult("All required functions found", STATUS_OK); } } } } return $ok; } function checkMaxExecutiontime(&$results) { $ok = true; if ((int)ini_get('max_execution_time') >= 120) { $results[] = new TestResult("Maximum execution time is as per requirement.", STATUS_OK); } else { $results[] = new TestResult("Maximum execution time is too low. Recommneded execution time is 120 seconds ", STATUS_WARNING); } return $ok; } // --------------------------------------------------- // Do the magic // --------------------------------------------------- $results = []; $php_ok = validate_php($results); $memory_ok = validate_memory_limit($results); $extensions_ok = validate_extensions($results); $file_permission = checkFilePermission($results); $required_functions = checkDisabledFunctions($results); $check_execution_time = checkMaxExecutiontime($results); ?>

status) . '">' . $result->status . ' — ' . $result->message . '
'; } // foreach ?>

OK, this system can run Faveo

{{ csrf_field() }}

Previous



This system does not meet Faveo system requirements

{{-- --}}
@stop