При наличии специфичных требований к серверному окружению для работы приложения или плагина такие требования необходимо указать в файле lib/config/requirements.php
в поддиректории каждого такого приложения или плагина. Таким требованием может быть наличие какого-то конкретного установленного приложения Webasyst, расширения PHP или значение параметра конфигурации PHP.
Формат записи системных требований представляет собой PHP-файл, возвращающий ассоциативный массив, в котором ключом является название требуемого ресурса, а значением — ассоциативный подмассив со следующими данными:
name — название ресурса
description — описание и объяснение необходимости наличия данного ресурса
strict — обязательность наличия (булевый параметр — если указано значение true
, то установить или обновить ваш продукт будет невозможно, пока не будет удовлетворено соответствующее требование)
version/value — требование к версии либо значение (этот элемент следует опустить при указания требования наличия установленного серверного компонента, например, расширения PHP). В значениях параметров version
/value
поддерживаются математические операции сравнения (>, >=, =, <=, <). Если не указан оператор сравнения, то для версии программного компонента (version
) учитывается его минимальная необходимая версия, а для значения серверного параметра (value
) — минимальное требуемое значение. При указании версии PHP обязательно использование оператора сравнения.
Поддерживаемые типы системных требований:
app.%app_id%
— ID установленного приложения Webasystphp.%php_extension_name%
— название расширения PHP, например,php.domxml
phpini.%php_parameter_name%
— название параметра конфигурации PHP, например,phpini.allow_url_fopen
php
— версия PHP
Ниже показаны примеры оформления записи системных требований в файле requirements.php
:
<?php return array( 'app.stickies'=>array( 'name'=>'Приложение «Стикеры»', 'description'=>'', 'strict'=>true, 'version'=>'1.0.0.7', ), 'php.curl'=>array( 'name'=>'cURL', 'description'=>'Обмен данными со сторонними серверами', 'strict'=>true, ), 'phpini.max_exection_time'=>array( 'name'=>'Максимальное время исполнения PHP-скриптов', 'description'=>'', 'strict'=>false, 'value'=>'>60', ), 'php'=>array( 'strict'=>true, 'version'=>'>=5.3', ), );
Системные требования, указанные в файле requirements.php
, используются только для базовой проверки серверного окружения при установке вашего приложения или плагина. Независимо от указания системных требований необходимо учитывать возможные изменения конфигурации сервера после установки или обновления вашего продукта и выполнять необходимые проверки в исходном коде всегда, когда это необходимо для обеспечения корректной работы вашего программного продукта.