Error'; echo '
The path to yii framework seems to be incorrect.
'; echo 'You need to install Yii framework via composer or adjust the framework path in file ' . basename( __FILE__ ) . '.
'; echo 'Please refer to the README on how to install Yii.
'; } require_once( $frameworkPath . '/requirements/YiiRequirementChecker.php' ); $requirementsChecker = new YiiRequirementChecker(); $gdMemo = $imagickMemo = 'Either GD PHP extension with FreeType support or ImageMagick PHP extension with PNG support is required for image CAPTCHA.'; $gdOK = $imagickOK = false; if (extension_loaded('imagick')) { $imagick = new Imagick(); $imagickFormats = $imagick->queryFormats('PNG'); if (in_array('PNG', $imagickFormats)) { $imagickOK = true; } else { $imagickMemo = 'Imagick extension should be installed with PNG support in order to be used for image CAPTCHA.'; } } if (extension_loaded('gd')) { $gdInfo = gd_info(); if (!empty( $gdInfo[ 'FreeType Support' ] )) { $gdOK = true; } else { $gdMemo = 'GD extension should be installed with FreeType support in order to be used for image CAPTCHA.'; } } /** * Adjust requirements according to your application specifics. */ $requirements = [ // Database : [ 'name' => 'PDO extension', 'mandatory' => true, 'condition' => extension_loaded('pdo'), 'by' => 'All DB-related classes', ], [ 'name' => 'PDO SQLite extension', 'mandatory' => false, 'condition' => extension_loaded('pdo_sqlite'), 'by' => 'All DB-related classes', 'memo' => 'Required for SQLite database.', ], [ 'name' => 'PDO MySQL extension', 'mandatory' => false, 'condition' => extension_loaded('pdo_mysql'), 'by' => 'All DB-related classes', 'memo' => 'Required for MySQL database.', ], [ 'name' => 'PDO PostgreSQL extension', 'mandatory' => false, 'condition' => extension_loaded('pdo_pgsql'), 'by' => 'All DB-related classes', 'memo' => 'Required for PostgreSQL database.', ], // Cache : [ 'name' => 'Memcache extension', 'mandatory' => false, 'condition' => extension_loaded('memcache') || extension_loaded('memcached'), 'by' => 'MemCache', 'memo' => extension_loaded( 'memcached' ) ? 'To use memcached set MemCache::useMemcached totrue.' : '',
        ],
        [
            'name'      => 'APC extension',
            'mandatory' => false,
            'condition' => extension_loaded('apc'),
            'by'        => 'ApcCache',
        ],
        // CAPTCHA:
        [
            'name'      => 'GD PHP extension with FreeType support',
            'mandatory' => false,
            'condition' => $gdOK,
            'by'        => 'Captcha',
            'memo'      => $gdMemo,
        ],
        [
            'name'      => 'ImageMagick PHP extension with PNG support',
            'mandatory' => false,
            'condition' => $imagickOK,
            'by'        => 'Captcha',
            'memo'      => $imagickMemo,
        ],
        // PHP ini :
        'phpExposePhp'       => [
            'name'      => 'Expose PHP',
            'mandatory' => false,
            'condition' => $requirementsChecker->checkPhpIniOff("expose_php"),
            'by'        => 'Security reasons',
            'memo'      => '"expose_php" should be disabled at php.ini',
        ],
        'phpAllowUrlInclude' => [
            'name'      => 'PHP allow url include',
            'mandatory' => false,
            'condition' => $requirementsChecker->checkPhpIniOff("allow_url_include"),
            'by'        => 'Security reasons',
            'memo'      => '"allow_url_include" should be disabled at php.ini',
        ],
        'phpSmtp'            => [
            'name'      => 'PHP mail SMTP',
            'mandatory' => false,
            'condition' => strlen(ini_get('SMTP')) > 0,
            'by'        => 'Email sending',
            'memo'      => 'PHP mail SMTP server required',
        ],
    ];
    $requirementsChecker->checkYii()
                        ->check($requirements)
                        ->render();