File: /home/accemeff/vendor/craftcms/server-check/server/requirements/requirements.php
<?php
/**
* These are the default Craft requirements for [RequirementsChecker]] to use.
*/
/** @var RequirementsChecker $this */
$requirements = array(
array(
'name' => 'PHP 7.0+',
'mandatory' => true,
'condition' => version_compare(PHP_VERSION, '7.0.0', '>='),
'memo' => 'PHP 7.0 or higher is required.',
),
);
$conn = $this->getDbConnection();
switch ($this->dbDriver) {
case 'mysql':
$requirements[] = array(
'name' => 'PDO MySQL extension',
'mandatory' => true,
'condition' => extension_loaded('pdo_mysql'),
'memo' => 'The <http://php.net/manual/en/ref.pdo-mysql.php>PDO MySQL</a> extension is required.'
);
if ($conn !== false) {
$requirements[] = array(
'name' => "MySQL {$this->requiredMySqlVersion}+",
'mandatory' => true,
'condition' => $this->checkDatabaseServerVersion($conn, $this->requiredMySqlVersion),
'memo' => "MySQL {$this->requiredMySqlVersion} or higher is required to run Craft CMS.",
);
$requirements[] = array(
'name' => 'MySQL InnoDB support',
'mandatory' => true,
'condition' => $this->isInnoDbSupported($conn),
'memo' => 'Craft CMS requires the MySQL InnoDB storage engine to run.',
);
}
break;
case 'pgsql':
$requirements[] = array(
'name' => 'PDO PostgreSQL extension',
'mandatory' => true,
'condition' => extension_loaded('pdo_pgsql'),
'memo' => 'The <https://secure.php.net/manual/en/ref.pdo-pgsql.php>PDO PostgreSQL</a> extension is required.'
);
if ($conn !== false) {
$requirements[] = array(
'name' => "PostgreSQL {$this->requiredPgSqlVersion}+",
'mandatory' => true,
'condition' => $this->checkDatabaseServerVersion($conn, $this->requiredPgSqlVersion),
'memo' => "PostgresSQL {$this->requiredPgSqlVersion} or higher is required to run Craft CMS.",
);
}
break;
}
// Only run this requirement check if we're running in the context of Craft.
if (class_exists('Craft')) {
$requirements[] = $this->webrootRequirement();
}
$requirements = array_merge($requirements, array(
array(
'name' => 'Reflection extension',
'mandatory' => true,
'condition' => extension_loaded('reflection'),
'memo' => 'The <a target="_blank" href="http://php.net/manual/en/class.reflectionextension.php">Reflection</a> extension is required.',
),
array(
'name' => 'PCRE extension (with UTF-8 support)',
'mandatory' => true,
'condition' => extension_loaded('pcre') && preg_match('/./u', 'Ü') === 1,
'memo' => 'The <a target="_blank" href="http://php.net/manual/en/book.pcre.php">PCRE</a> extension is required and it must be compiled to support UTF-8.',
),
array(
'name' => 'SPL extension',
'mandatory' => true,
'condition' => extension_loaded('SPL'),
'memo' => 'The <a target="_blank" href="http://php.net/manual/en/book.spl.php">SPL</a> extension is required.'
),
array(
'name' => 'PDO extension',
'mandatory' => true,
'condition' => extension_loaded('pdo'),
'memo' => 'The <a target="_blank" href="http://php.net/manual/en/book.pdo.php">PDO</a> extension is required.'
),
array(
'name' => 'Multibyte String extension (with Function Overloading disabled)',
'mandatory' => true,
'condition' => extension_loaded('mbstring') && ini_get('mbstring.func_overload') == 0,
'memo' => 'Craft CMS requires the <a target="_blank" href="http://www.php.net/manual/en/book.mbstring.php">Multibyte String</a> extension with <a target="_blank" href="http://php.net/manual/en/mbstring.overload.php">Function Overloading</a> disabled in order to run.'
),
array(
'name' => 'GD extension or ImageMagick extension',
'mandatory' => true,
'condition' => extension_loaded('gd') || extension_loaded('imagick'),
'memo' => 'The <a target="_blank" href="http://php.net/manual/en/book.image.php">GD</a> or <a target="_blank" href="http://php.net/manual/en/book.imagick.php">ImageMagick</a> extension is required, however ImageMagick is recommended as it adds animated GIF support, and preserves 8-bit and 24-bit PNGs during image transforms.'
),
array(
'name' => 'OpenSSL extension',
'mandatory' => true,
'condition' => extension_loaded('openssl'),
'memo' => 'The <a target="_blank" href="http://php.net/manual/en/book.openssl.php">OpenSSL</a> extension is required.'
),
array(
'name' => 'cURL extension',
'mandatory' => true,
'condition' => extension_loaded('curl'),
'memo' => 'The <a target="_blank" href="http://php.net/manual/en/book.curl.php">cURL</a> extension is required.',
),
array(
'name' => 'ctype extension',
'mandatory' => true,
'condition' => extension_loaded('ctype'),
'memo' => 'The <a target="_blank" href="https://secure.php.net/manual/en/book.ctype.php">ctype</a> extension is required.',
),
$this->iniSetRequirement(),
array(
'name' => 'Intl extension',
'mandatory' => false,
'condition' => $this->checkPhpExtensionVersion('intl', '1.0.2', '>='),
'memo' => 'The <a target="_blank" href="http://www.php.net/manual/en/book.intl.php">Intl</a> extension (version 1.0.2+) is recommended.'
),
array(
'name' => 'Fileinfo extension',
'mandatory' => true,
'condition' => extension_loaded('fileinfo'),
'memo' => 'The <a target="_blank" href="http://php.net/manual/en/book.fileinfo.php">Fileinfo</a> extension required.'
),
array(
'name' => 'DOM extension',
'mandatory' => true,
'condition' => extension_loaded('dom'),
'memo' => 'The <a target="_blank" href="http://php.net/manual/en/book.dom.php">DOM</a> extension is required.',
),
array(
'name' => 'iconv extension',
'mandatory' => true,
'condition' => function_exists('iconv'),
'memo' => '<a target="_blank" href="http://php.net/manual/en/book.iconv.php">iconv</a> is required for more robust character set conversion support.',
),
$this->memoryLimitRequirement(),
array(
'name' => 'password_hash()',
'mandatory' => true,
'condition' => function_exists('password_hash'),
'memo' => 'The <a target="_blank" href="https://secure.php.net/manual/en/function.password-hash.php">password_hash()</a> function is required so Craft can create secure passwords.',
),
array(
'name' => 'Zip extension',
'mandatory' => true,
'condition' => extension_loaded('zip'),
'memo' => 'The <a target="_blank" href="https://secure.php.net/manual/en/book.zip.php">zip</a> extension is required for zip and unzip operations.',
),
array(
'name' => 'JSON extension',
'mandatory' => true,
'condition' => extension_loaded('json'),
'memo' => 'The <a target="_blank" href="https://secure.php.net/manual/en/book.json.php">JSON</a> extension is required for JSON encoding and decoding.',
),
array(
'name' => 'proc_open()',
'mandatory' => false,
'condition' => function_exists('proc_open'),
'memo' => 'The <a target="_blank" href="https://secure.php.net/manual/en/function.proc-open.php">proc_open()</a> function is required for Plugin Store operations as well as sending emails.',
),
array(
'name' => 'proc_get_status()',
'mandatory' => false,
'condition' => function_exists('proc_get_status'),
'memo' => 'The <a target="_blank" href="https://secure.php.net/manual/en/function.proc-get-status.php">proc_get_status()</a> function is required for Plugin Store operations as well as sending emails.',
),
array(
'name' => 'proc_close()',
'mandatory' => false,
'condition' => function_exists('proc_close'),
'memo' => 'The <a target="_blank" href="https://secure.php.net/manual/en/function.proc-close.php">proc_close()</a> function is required for Plugin Store operations as well as sending emails.',
),
array(
'name' => 'proc_terminate()',
'mandatory' => false,
'condition' => function_exists('proc_terminate'),
'memo' => 'The <a target="_blank" href="https://secure.php.net/manual/en/function.proc-terminate.php">proc_terminate()</a> function is required for Plugin Store operations as well as sending emails.',
),
array(
'name' => 'allow_url_fopen',
'mandatory' => false,
'condition' => ini_get('allow_url_fopen'),
'memo' => '<a target="_blank" href="https://secure.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen">allow_url_fopen</a> must be enabled in your PHP configuration for Plugin Store and updating operations.',
),
));
return $requirements;