在 Debian 系统上,PHP 扩展二进制文件位于/usr/lib/php/
.里面是每个 PHP 版本的文件夹,例如7.2
和7.3
,以及以日期命名的文件夹,例如20170718
和20180731
。
使用安装扩展pecl install
并不总是将.so
文件添加到每个日期文件夹。例如跑步pecl install jsmin
创建/usr/lib/php/20170718/jsmin.so
但不/usr/lib/php/20180731/jsmin.so
适合我。
这些日期代表什么?
答案1
日期用于识别 PHP API 版本,并编码为main/php.h
在 PHP 源代码中。它们用作 PHP 扩展的构建标识符。
PHP API 版本对应于以下 PHP 版本:
API版本 | PHP 发布 |
---|---|
20170718 | PHP 7.2 |
20180731 | PHP 7.3 |
20190902 | PHP 7.4 |
20200930 | PHP 8.0 |
20210902 | PHP 8.1 |
20220829 | PHP 8.2 |
答案2
下面的文件夹名称中的日期/usr/lib/php/
表示为特定发行版(在本例中为 Debian)编译和打包 PHP 版本的日期。
每个文件夹内的文件.so
都是针对特定 PHP 版本和特定日期进行编译的,并由该日期的 PHP 安装使用。可能并非所有扩展都有针对每个 PHP 版本编译的版本,因此.so
某些扩展缺少文件。