PHP-EXT-SOURCE-R3.ECLASS
章节: eclass-manpages (5)更新时间: 2024 年 11 月
索引 返回主内容
名称
php-ext-source-r3.eclass - 编译并安装独立的 PHP 扩展。描述
用于编译和安装独立 PHP 扩展的统一接口。支持的 EAPIS
7 8函数
- php-ext-source-r3_src_prepare
- 运行默认的 src_prepare() 以支持 PATCHES/eapply_user()(可选),并为每个 PHP 槽复制源代码,初始化环境,并调用 php-ext-source-r3_phpize()。
- php-ext-source-r3_phpize
- 受 PHP_EXT_SKIP_PHPIZE 影响,此函数运行 phpize 和 autoreconf,以避免警告。
- php-ext-source-r3_src_configure
- 处理 PHP 扩展(模块)的标准配置。
- php-ext-source-r3_src_compile
- 编译标准独立 PHP 扩展。
- php-ext-source-r3_src_install
- 安装标准独立 PHP 扩展。使用 einstalldocs() 支持 DOCS 变量/数组。
- php-ext-source-r3_src_test
- 运行独立 PHP 扩展附带的测试。Phpize 将生成一个 run-tests.php 文件,由 `make test` 执行。我们只需要强制测试套件在非交互模式下运行。
- php_get_slots
- 获取 ebuild 的 USE_PHP 和用户的 PHP_TARGETS 中包含的 PHP 槽列表。
- php_init_slot_env <slot>
- 接受一个槽名称,并初始化一些全局变量,使其值对应于该槽。例如,它设置了 "php" 和 "phpize" 二进制文件的路径,这些路径在每个槽中都不同。此函数旨在在循环遍历从 php_get_slots() 获得的槽列表时调用。
调用此函数将更改工作目录到给定槽的临时构建目录。
- php-ext-source-r3_createinifiles
- 为每个启用的槽和 SAPI 构建 INI 文件。
- php-ext-source-r3_addtoinifiles <设置或节名称> [设置值] [消息]
- 向此扩展安装的每个 php.ini 文件添加设置。您也可以添加新的 [节] - 请参阅下面的示例。
Add some settings for the extension: php-ext-source-r3_addtoinifiles "zend_optimizer.optimization_level" "15" php-ext-source-r3_addtoinifiles "zend_optimizer.enable_loader" "0" php-ext-source-r3_addtoinifiles "zend_optimizer.disable_licensing" "0" Adding values to a section in php.ini file installed by the extension: php-ext-source-r3_addtoinifiles "[Debugger]" php-ext-source-r3_addtoinifiles "debugger.enabled" "on" php-ext-source-r3_addtoinifiles "debugger.profiler_enabled" "on"
ECLASS 变量
- PHP_EXT_NAME (必需) (在继承之前设置)
- 扩展名称。必须设置此项,否则 eclass 会停止。仅由 php-ext-pecl-r3.eclass 自动设置,因此除非您的 ebuild 继承了该 eclass,否则您必须在继承之前手动设置此项。
- PHP_EXT_INI = "yes"
- 控制是否为扩展添加一行到 php.ini。默认为 "yes",大多数情况下不应该更改。
- PHP_EXT_ZENDEXT = "no"
- 控制扩展是否为 ZendEngine 扩展。默认为 "no"。如果您不知道这是什么,则不需要它。
- USE_PHP (必需)
- 列出扩展兼容的 PHP 槽。例如
USE_PHP="php5-6 php7-0"
- PHP_EXT_OPTIONAL_USE
- 如果设置,则此 eclass 添加的所有依赖项都将以 USE=${PHP_EXT_OPTIONAL_USE} 为条件。当 ebuild 必须无条件地继承此 eclass,但仅在(例如)用户使用 USE=php 时真正使用它时,需要使用此项。
- PHP_EXT_S = "${S}"
- PHP 扩展的临时构建目录在源包中的相对位置。这对捆绑 PHP 扩展的软件包很有用。默认为 ${S}。
- PHP_EXT_SAPIS = "apache2 cli cgi fpm embed phpdbg"
- 我们将为其安装此扩展的 SAPI 列表。以前称为 PHPSAPILIST。默认情况下包括树中当前使用的所有 SAPI。
- PHP_INI_NAME ?= ${PHP_EXT_NAME}
- 保存的 ini 文件的可选文件名,不包括 ini 扩展名。这允许对扩展进行排序,以便一个扩展在另一个扩展之前或之后加载。默认为 PHP_EXT_NAME。例如(生成 40-foo.ini 文件)
PHP_INI_NAME="40-foo"
- PHP_EXT_NEEDED_USE (在继承之前设置)
- 要附加到每个作为有效 USE 依赖项字符串选择的 PHP 目标的 USE 标志列表。该值应该对所有目标有效,因此可能需要 USE 默认值。例如
PHP_EXT_NEEDED_USE="mysql?,pdo,pcre(+)"
PHP 依赖项将导致
php_targets_php7-0? ( dev-lang/php:7.0[mysql?,pdo,pcre(+)] )
- PHP_EXT_SKIP_PHPIZE
- 默认情况下,我们在 php-ext-source-r3_src_prepare() 中运行 "phpize"。如果不想运行 phpize(以及之后必要的 autoreconf),请在您的 ebuild 中设置 PHP_EXT_SKIP_PHPIZE="yes"。
- PHP_EXT_SKIP_PATCHES
- 默认情况下,我们对 PHP_EXT_S 运行 default_src_prepare。如果要自己应用补丁,请在您的 ebuild 中设置 PHP_EXT_SKIP_PATCHES="yes"。
- PHP_EXT_ECONF_ARGS
- 在 ebuild 中设置此项以将额外的配置选项传递给 econf。以前称为 my_conf。支持字符串或 --flag=value 参数数组。
维护者
Gentoo PHP 团队 <[email protected]>报告 Bug
请通过 https://bugs.gentoo.org/ 报告 Bug。文件
php-ext-source-r3.eclass另请参阅
ebuild(5)https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/php-ext-source-r3.eclass
索引
此文档由 man2html 使用手册页创建。
时间: 2024 年 11 月 12 日 格林尼治标准时间 03:27:01