Чтобы получить информацию о Plesk и сервере, на котором он установлен, используйте класс pm_ProductInfo.

  • getVersion() – получает версию Plesk.
  • getPlatform() – получает название платформы.
  • isUnix() – возвращает true, если Plesk установлен на сервере Linux, иначе – false.
  • isWindows() – возвращает true, если Plesk установлен на сервере Windows, иначе – false.
  • getOsName() – возвращает имя ОС.
  • getOsVersion() – возвращает версию ОС.
  • getOsArch() – возвращает архитектуру ОС.
  • getVirtualization() – возвращает тип виртуализации, используемой на сервере (если она используется). Если для аргумента $all public задано значение true, этот метод возвращает массив всех действующих типов виртуализации. Константы для типов виртуализации именуются в соответствии со следующим соглашением: pm_ProductInfo::VIRT_*.
  • getPrivateTempDir() – возвращает абсолютный пусть к папке с временными файлами Plesk.
  • getProductRootDir() – возвращает абсолютный пусть к корневой папке Plesk.

Примеры

class IndexController extends pm_Controller_Action
{
    public function init()
    {
        parent::init();
        if (pm_ProductInfo::getOsName() === pm_ProductInfo::OS_DEBIAN && version_compare(pm_ProductInfo::getOsVersion(), '8.0', '<')) {
            pm_Log::info('Debian older then 8.0 is not supported!');
            $this->_redirect('not-supported');
        }
    }
}
class IndexController extends pm_Controller_Action
{
    public function init()
    {
        parent::init();
        if (in_array(pm_ProductInfo::getVirtualization(), [pm_ProductInfo::VIRT_VZ, pm_ProductInfo::VIRT_OPENVZ])) {
            pm_Log::info('Virtuozzo is not supported!');
            $this->_redirect('not-supported');
        }
    }
}