/usr/lib/php/의 날짜는 무엇을 나타냅니까?

/usr/lib/php/의 날짜는 무엇을 나타냅니까?

Debian 시스템에서 PHP 확장 바이너리는 에 있습니다 . 내부에는 및 와 /usr/lib/php/같은 각 PHP 버전에 대한 폴더와 및 와 같은 날짜 이름이 지정된 폴더가 있습니다 .7.27.32017071820180731

설치된 확장 프로그램을 사용해도 항상 모든 날짜 폴더에 파일이 추가되는 pecl install것은 아닙니다 . .so예를 들어 실행하면 pecl install jsmin생성되지만 나에게는 작동 /usr/lib/php/20170718/jsmin.so하지 않습니다 ./usr/lib/php/20180731/jsmin.so

이 날짜는 무엇을 나타냅니까?

답변1

날짜는 PHP API 버전을 식별하는 데 사용되며 다음과 같이 인코딩됩니다.main/php.hPHP 소스 코드에서. 이는 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일부 확장 프로그램에는 파일이 누락되어 있습니다.

관련 정보