⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dependency2.php

📁 php-4.4.7学习linux时下载的源代码
💻 PHP
📖 第 1 页 / 共 4 页
字号:
                        $dep['pattern'] . '"');                } else {                    return $this->warning('warning: %s Architecture dependency failed, ' .                        'required "' . $dep['pattern'] . '"');                }            }            return true;        }    }    /**     * This makes unit-testing a heck of a lot easier     */    function extension_loaded($name)    {        return extension_loaded($name);    }    /**     * This makes unit-testing a heck of a lot easier     */    function phpversion($name = null)    {        if ($name !== null) {            return phpversion($name);        } else {            return phpversion();        }    }    function validateExtensionDependency($dep, $required = true)    {        if ($this->_state != PEAR_VALIDATE_INSTALLING &&              $this->_state != PEAR_VALIDATE_DOWNLOADING) {            return true;        }        $loaded = $this->extension_loaded($dep['name']);        $extra = $this->_getExtraString($dep);        if (isset($dep['exclude'])) {            if (!is_array($dep['exclude'])) {                $dep['exclude'] = array($dep['exclude']);            }        }        if (!isset($dep['min']) && !isset($dep['max']) &&              !isset($dep['recommended']) && !isset($dep['exclude'])) {            if ($loaded) {                if (isset($dep['conflicts'])) {                    if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) {                        return $this->raiseError('%s conflicts with PHP extension "' .                            $dep['name'] . '"' . $extra);                    } else {                        return $this->warning('warning: %s conflicts with PHP extension "' .                            $dep['name'] . '"' . $extra);                    }                }                return true;            } else {                if (isset($dep['conflicts'])) {                    return true;                }                if ($required) {                    if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) {                        return $this->raiseError('%s requires PHP extension "' .                            $dep['name'] . '"' . $extra);                    } else {                        return $this->warning('warning: %s requires PHP extension "' .                            $dep['name'] . '"' . $extra);                    }                } else {                    return $this->warning('%s can optionally use PHP extension "' .                        $dep['name'] . '"' . $extra);                }            }        }        if (!$loaded) {            if (isset($dep['conflicts'])) {                return true;            }            if (!$required) {                return $this->warning('%s can optionally use PHP extension "' .                    $dep['name'] . '"' . $extra);            } else {                if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) {                    return $this->raiseError('%s requires PHP extension "' . $dep['name'] .                        '"' . $extra);                }                    return $this->warning('warning: %s requires PHP extension "' . $dep['name'] .                        '"' . $extra);            }        }        $version = (string) $this->phpversion($dep['name']);        if (empty($version)) {            $version = '0';        }        $fail = false;        if (isset($dep['min'])) {            if (!version_compare($version, $dep['min'], '>=')) {                $fail = true;            }        }        if (isset($dep['max'])) {            if (!version_compare($version, $dep['max'], '<=')) {                $fail = true;            }        }        if ($fail && !isset($dep['conflicts'])) {            if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) {                return $this->raiseError('%s requires PHP extension "' . $dep['name'] .                    '"' . $extra . ', installed version is ' . $version);            } else {                return $this->warning('warning: %s requires PHP extension "' . $dep['name'] .                    '"' . $extra . ', installed version is ' . $version);            }        } elseif ((isset($dep['min']) || isset($dep['max'])) && !$fail && isset($dep['conflicts'])) {            if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) {                return $this->raiseError('%s conflicts with PHP extension "' .                    $dep['name'] . '"' . $extra . ', installed version is ' . $version);            } else {                return $this->warning('warning: %s conflicts with PHP extension "' .                    $dep['name'] . '"' . $extra . ', installed version is ' . $version);            }        }        if (isset($dep['exclude'])) {            foreach ($dep['exclude'] as $exclude) {                if (version_compare($version, $exclude, '==')) {                    if (isset($dep['conflicts'])) {                        continue;                    }                    if (!isset($this->_options['nodeps']) &&                          !isset($this->_options['force'])) {                        return $this->raiseError('%s is not compatible with PHP extension "' .                            $dep['name'] . '" version ' .                            $exclude);                    } else {                        return $this->warning('warning: %s is not compatible with PHP extension "' .                            $dep['name'] . '" version ' .                            $exclude);                    }                } elseif (version_compare($version, $exclude, '!=') && isset($dep['conflicts'])) {                    if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) {                        return $this->raiseError('%s conflicts with PHP extension "' .                            $dep['name'] . '"' . $extra . ', installed version is ' . $version);                    } else {                        return $this->warning('warning: %s conflicts with PHP extension "' .                            $dep['name'] . '"' . $extra . ', installed version is ' . $version);                    }                }            }        }        if (isset($dep['recommended'])) {            if (version_compare($version, $dep['recommended'], '==')) {                return true;            } else {                if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) {                    return $this->raiseError('%s dependency: PHP extension ' . $dep['name'] .                        ' version "' . $version . '"' .                        ' is not the recommended version "' . $dep['recommended'] .                        '", but may be compatible, use --force to install');                } else {                    return $this->warning('warning: %s dependency: PHP extension ' .                        $dep['name'] . ' version "' . $version . '"' .                        ' is not the recommended version "' . $dep['recommended'].'"');                }            }        }        return true;    }    function validatePhpDependency($dep)    {        if ($this->_state != PEAR_VALIDATE_INSTALLING &&              $this->_state != PEAR_VALIDATE_DOWNLOADING) {            return true;        }        $version = $this->phpversion();        $extra = $this->_getExtraString($dep);        if (isset($dep['exclude'])) {            if (!is_array($dep['exclude'])) {                $dep['exclude'] = array($dep['exclude']);            }        }        if (isset($dep['min'])) {            if (!version_compare($version, $dep['min'], '>=')) {                if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) {                    return $this->raiseError('%s requires PHP' .                        $extra . ', installed version is ' . $version);                } else {                    return $this->warning('warning: %s requires PHP' .                        $extra . ', installed version is ' . $version);                }            }        }        if (isset($dep['max'])) {            if (!version_compare($version, $dep['max'], '<=')) {                if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) {                    return $this->raiseError('%s requires PHP' .                        $extra . ', installed version is ' . $version);                } else {                    return $this->warning('warning: %s requires PHP' .                        $extra . ', installed version is ' . $version);                }            }        }        if (isset($dep['exclude'])) {            foreach ($dep['exclude'] as $exclude) {                if (version_compare($version, $exclude, '==')) {                    if (!isset($this->_options['nodeps']) &&                          !isset($this->_options['force'])) {                        return $this->raiseError('%s is not compatible with PHP version ' .                            $exclude);                    } else {                        return $this->warning(                            'warning: %s is not compatible with PHP version ' .                            $exclude);                    }                }            }        }        return true;    }    /**     * This makes unit-testing a heck of a lot easier     */    function getPEARVersion()    {        return '1.4.9';    }    function validatePearinstallerDependency($dep)    {        $pearversion = $this->getPEARVersion();        $extra = $this->_getExtraString($dep);        if (isset($dep['exclude'])) {            if (!is_array($dep['exclude'])) {                $dep['exclude'] = array($dep['exclude']);            }        }        if (version_compare($pearversion, $dep['min'], '<')) {            if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) {                return $this->raiseError('%s requires PEAR Installer' . $extra .                    ', installed version is ' . $pearversion);            } else {                return $this->warning('warning: %s requires PEAR Installer' . $extra .                    ', installed version is ' . $pearversion);            }        }        if (isset($dep['max'])) {            if (version_compare($pearversion, $dep['max'], '>')) {                if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) {                    return $this->raiseError('%s requires PEAR Installer' . $extra .                        ', installed version is ' . $pearversion);                } else {                    return $this->warning('warning: %s requires PEAR Installer' . $extra .                        ', installed version is ' . $pearversion);                }            }        }        if (isset($dep['exclude'])) {            if (!isset($dep['exclude'][0])) {                $dep['exclude'] = array($dep['exclude']);            }            foreach ($dep['exclude'] as $exclude) {                if (version_compare($exclude, $pearversion, '==')) {                    if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) {                        return $this->raiseError('%s is not compatible with PEAR Installer ' .                            'version ' . $exclude);                    } else {                        return $this->warning('warning: %s is not compatible with PEAR ' .                            'Installer version ' . $exclude);                    }                }            }        }        return true;    }    function validateSubpackageDependency($dep, $required, $params)    {        return $this->validatePackageDependency($dep, $required, $params);    }    /**     * @param array dependency information (2.0 format)     * @param boolean whether this is a required dependency     * @param array a list of downloaded packages to be installed, if any     * @param boolean if true, then deps on pear.php.net that fail will also check     *                against pecl.php.net packages to accomodate extensions that have     *                moved to pecl.php.net from pear.php.net     */    function validatePackageDependency($dep, $required, $params, $depv1 = false)    {        if ($this->_state != PEAR_VALIDATE_INSTALLING &&              $this->_state != PEAR_VALIDATE_DOWNLOADING) {            return true;        }        if (isset($dep['providesextension'])) {            if ($this->extension_loaded($dep['providesextension'])) {                $save = $dep;                $subdep = $dep;                $subdep['name'] = $subdep['providesextension'];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -