يحتوي هذا المستودع على برنامج نصي يمكن استخدامه لتثبيت امتداد PHP بسهولة داخل صور Docker الرسمية PHP.
سيقوم البرنامج النصي بتثبيت جميع حزم APT/APK المطلوبة ؛ في نهاية تنفيذ البرنامج النصي ، ستتم إزالة الحزم المطلوبة لا توجد أكثر بحيث تكون الصورة أصغر بكثير.
صور Docker المدعومة هي:
انظر أيضا الملاحظات في قسم المتطلبات الخاصة.
لديك العديد من الطرق لاستخدام هذا البرنامج النصي داخل Dockerfile
s.
فيما يلي قائمة بعينات Dockerfile
S التي تقوم بتثبيت امتدادات GD و XDEBUG PHP:
ADD
FROM php:7.2-cli
ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN install-php-extensions gd xdebug
curl
FROM php:7.2-cli
RUN curl -sSLf
-o /usr/local/bin/install-php-extensions
https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions &&
chmod +x /usr/local/bin/install-php-extensions &&
install-php-extensions gd xdebug
curl
FROM php:8.2-cli
RUN ( curl -sSLf https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions -o - || echo 'return 1' ) | sh -s
gd xdebug
FROM php:7.2-cli
COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
RUN install-php-extensions gd xdebug
تحذير : باستخدام هذه الطريقة ، يمكنك استخدام نسخة عفا عليها الزمن من صورة mlocati/php-extension-installer
. قد ترغب في تشغيل docker pull mlocati/php-extension-installer
من أجل استخدام إصدار محدث.
RUN --mount=type=bind,from=mlocati/php-extension-installer:latest,source=/usr/bin/install-php-extensions,target=/usr/local/bin/install-php-extensions
install-php-extensions gd xdebug
تحذير : باستخدام هذه الطريقة ، يمكنك استخدام نسخة عفا عليها الزمن من صورة mlocati/php-extension-installer
. قد ترغب في تشغيل docker pull mlocati/php-extension-installer
من أجل استخدام إصدار محدث.
ببساطة إلحاق -<version>
إلى اسم الوحدة النمطية. على سبيل المثال:
install-php-extensions xdebug-2.9.7
يدعم البرنامج النصي أيضًا حل الإصدارات المتوافقة عن طريق بادئة الإصدار باستخدام Caret ( ^
). على سبيل المثال:
# Install the most recent xdebug 2.x version (for example 2.9.8)
install-php-extensions xdebug-^2
# Install the most recent xdebug 2.8.x version (for example 2.8.1)
install-php-extensions xdebug-^2.8
يرجى ملاحظة أنه مع بناء الجملة أعلاه ، ستحصل على أحدث إصدار متوافق ، والذي قد يكون غير مستقر. لتثبيت أحدث إصدار مستقر ، يمكنك إلحاق @stable
:
# Install the most recent STABLE xdebug 3.x version (for example 3.2.2)
install-php-extensions xdebug-^3@stable
(لاحقة صالحة هي: @snapshot
و @devel
و @alpha
و @beta
و @stable
)
يمكن إعداد امتدادات الإصدارات قبل الإصدار على PECL
عن طريق لاحقة اسم التمديد مع حالتها IE alpha
أو beta
أو rc
أو preview
أو devel
أو snapshot
. على سبيل المثال:
install-php-extensions xdebug-beta
نصيحة: عندما لا يكون أحدث إصدار متاح على PECL
مستقرًا ، وتريد الاحتفاظ بإصدار مستقر الأخير ، فرضه من خلال لاحقة اسم التمديد مع الحالة stable
. على سبيل المثال:
install-php-extensions mongodb-stable
يمكنك أيضًا تثبيت امتدادات PHP من التعليمات البرمجية المصدر (شريطة أن يأتي مع package.xml
أو ملف package2.xml
).
التنسيقات المقبولة هي:
# Install from a specific commit (full commit SHA-1)
install-php-extensions php-memcached-dev/php-memcached@8f106564e6bb005ca6100b12ccc89000daafa9d8
# Install from a specific commit (short commit SHA-1)
install-php-extensions php-memcached-dev/php-memcached@8f106564e6bb
# Install from tag v3.2.0RC2
install-php-extensions php-memcached-dev/[email protected]
install-php-extensions php-memcached-dev/php-memcached@refs/tags/v3.2.0RC2
# Install from branch master
install-php-extensions php-memcached-dev/php-memcached@master
install-php-extensions php-memcached-dev/php-memcached@refs/heads/master
# tgz archive for commit 8f106564e6bb005ca6100b12ccc89000daafa9d8
install-php-extensions https://codeload.github.com/php-memcached-dev/php-memcached/tar.gz/8f106564e6bb005ca6100b12ccc89000daafa9d8
# tgz archive for tag v3.1.5
install-php-extensions https://codeload.github.com/php-memcached-dev/php-memcached/tar.gz/refs/tags/v3.1.5
# tgz archive for branch master
install-php-extensions https://codeload.github.com/php-memcached-dev/php-memcached/tar.gz/refs/heads/master
# Download the source code
curl -o /tmp/source.tgz https://codeload.github.com/php-memcached-dev/php-memcached/tar.gz/refs/tags/v3.1.5
tar xzf /tmp/source.tgz -C /tmp
install-php-extensions /tmp/php-memcached-3.1.5
يمكنك أيضًا تثبيت الملحن ، ويمكنك أيضًا تحديد إصدار رئيسي منه ، أو نسخة كاملة.
أمثلة:
# Install the latest version
install-php-extensions @composer
# Install the latest 1.x version
install-php-extensions @composer-1
# Install a specific version
install-php-extensions @composer-2.0.2
شهادة الجذر CA لتشفير التغييرات (مزيد من التفاصيل هنا).
التي تكسر توزيعات Linux القديمة ، وهي:
يمكن لهذا البرنامج النصي إصلاح هذه المشكلة: ما عليك سوى تمرير @fix_letsencrypt
كوسيطة:
install-php-extensions @fix_letsencrypt
امتداد | PHP 8.4 | PHP 8.3 | PHP 8.2 | PHP 8.1 | PHP 8.0 | PHP 7.4 | PHP 7.3 | PHP 7.2 | PHP 7.1 | PHP 7.0 | PHP 5.6 | PHP 5.5 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
AMQP | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
apcu | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
APCU_BC | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||
AST | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
bcmath | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
bitset | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Blackfire | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
بروتلي | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
BZ2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
تقويم | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
كاساندرا* | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
كورمارك | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||
CSV | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
DBA | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
ddtrace* | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
عشري | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
DS | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
ecma_intl* | ✓ | ✓ | ||||||||||
سبى | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
eV | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
حدث | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Excimer | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
EXIF | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
FFI | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
FTP | ✓ | ✓ | ✓ | |||||||||
GD | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
جيرمان | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
جيو | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
جيوس* | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
الجيولوجي | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
getText | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Gmagick | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
GMP | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Gnupg | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
GRPC | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
http | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
igbinary | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
الخيال | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
IMAP | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
عدم التغلب على | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
interbase | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
intl | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
أيون | ✓ | ✓ | ✓ | ✓ | ||||||||
ioncube_loader | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
JSmin | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
JSON_POST | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Jsonpath | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
LDAP | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Luasandbox | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
LZ4* | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
LZF | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
MailParse | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
MaxMinddb | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
مكريببت | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
memcache | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
memcached | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
مومبوف* | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
مونغو | ✓ | ✓ | ||||||||||
mongodb | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
البعوض | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
msgpack | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
MSSQL | ✓ | ✓ | ||||||||||
MySQL | ✓ | ✓ | ||||||||||
Mysqli | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
نيوريليك | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
Oauth | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
OCI8 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
ODBC | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Opcache | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
opencensus | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
OpenSwoolee | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
قياس الأوبنتيل | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||
موازي* | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
بارل* | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
PCNTL | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
PCOV | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
PDO_DBLIB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
PDO_FIREBIRD | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
PDO_MYSQL | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
PDO_OCI | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
PDO_ODBC | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
PDO_PGSQL | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
PDO_SQLSRV | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
PGSQL | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Phalcon | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
php_trie | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
phpy* | ✓ | ✓ | ✓ | ✓ | ||||||||
PKCS11 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
PQ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
بروبو | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||||
protobuf | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
PSPELL | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
PSR | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
pthreads* | ✓ | ✓ | ✓ | |||||||||
رافف | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Rdkafka | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
أعد الرموز | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
redis | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
تتابع | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||
سكسون* | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
Seasclick | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
الساحرة | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
shmop | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
سيمدجسون* | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
smbclient | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
snappy | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
SNMP | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Snuffleupagus | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
صابون | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
مآخذ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
الصوديوم* | ✓ | ✓ | ✓ | |||||||||
سولر | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
SourceGuardian | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
SPX | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
SQLSRV* | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
SSH2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
ستومب | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
سوول | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
sybase_ct | ✓ | ✓ | ||||||||||
المزامنة | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
SYSVMSG | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Sysvsem | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Sysvshm | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
توتر | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
Tideways | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
مرتب | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
timezonedb | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Uopz | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
تحميل progress | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
uuid | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
الأشعة فوق البنفسجية | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||
كبار الشخصيات* | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
VLD | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
WDDX | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||
wikidiff2* | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
xDebug | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
xdiff | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
xhprof | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
xlswriter | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
xmldiff | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
XMLRPC | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
xpass* | ✓ | ✓ | ✓ | ✓ | ✓ | |||||||
XSL | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
ياك | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
يامل | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
يار | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Zephir_Parser | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
أَزِيز | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
ZMQ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Zookeeper | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
ZSTD | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
عدد الامتدادات المدعومة: 151
ملاحظة: يتم استبعاد امتدادات PHP المثبت مسبقًا من هذه القائمة. يمكنك إدراجها في الأمر التالي (تغيير php:7.2-cli
لتعكس إصدار PHP الذي تهتم به):
$ docker run --rm php:7.2-cli php -m
[PHP Modules]
Core
ctype
curl
date
dom
fileinfo
filter
ftp
hash
iconv
json
libxml
mbstring
mysqlnd
openssl
pcre
PDO
pdo_sqlite
Phar
posix
readline
Reflection
session
SimpleXML
sodium
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zlib
[Zend Modules]
يمكنك تكوين سلوك البرنامج النصي ، بالإضافة إلى ضبط بعض الامتدادات بالترتيب الذي يناسب احتياجاتك ، باستخدام متغيرات البيئة.
هذا مثال:
IPE_LZF_BETTERCOMPRESSION=1 install-php-extensions lzf
إليك قائمة جميع متغيرات البيئة المدعومة:
امتداد | متغير البيئة | وصف |
---|---|---|
IPE_DEBUG=1 | من خلال تعيين متغير البيئة هذا ، سيقوم البرنامج النصي بطباعة جميع الأوامر التي ينفذها (سيكون مطولاً للغاية ، مفيدًا فقط لأغراض التصحيح) | |
IPE_PROCESSOR_COUNT | افتراضيا جميع المعالجات المتاحة. قم بتعيين متغير البيئة هذا لتجاوز عدد المعالجات المكتشفة بواسطة البرنامج النصي (المستخدم لتجميع متوازي) | |
IPE_DONT_ENABLE=1 | بشكل افتراضي ، سيقوم البرنامج النصي بتثبيت وتمكين الامتدادات. إذا كنت ترغب في تثبيتها فقط (دون تمكينها) ، يمكنك تعيين متغير البيئة هذا. لتمكين الامتدادات في وقت لاحق ، يمكنك تنفيذ الأمر docker-php-ext-enable-<extension> (على سبيل المثال: docker-php-ext-enable-xdebug ).احذر : يتطلب تثبيت بعض امتدادات PHP أن يتم تمكين امتدادات PHP الأخرى بالفعل ، لذا استخدم هذه الميزة بحكمة. | |
IPE_SKIP_CHECK=1 | بشكل افتراضي ، سيقوم البرنامج النصي بالتحقق مما إذا كان يمكن تمكين الامتدادات: إذا كنت ترغب في تخطي هذا الشيك ، فيمكنك استخدام هذه العلامة. حذار : قد يتم تمكين الامتدادات حتى لو كسرت PHP: استخدم هذه الوظيفة بحكمة. | |
IPE_KEEP_SYSPKG_CACHE=1 | بشكل افتراضي ، سيقوم البرنامج النصي بمسح ذاكرة التخزين المؤقت APT/APK/Pear من أجل حفظ مساحة القرص. يمكنك تعطيله عن طريق تعيين متغير البيئة هذا | |
LZF | IPE_LZF_BETTERCOMPRESSION=1 | بشكل افتراضي install-php-extensions امتداد lzf ليفضل السرعة فوق الحجم ؛ يمكنك استخدام متغير البيئة هذا لتجميعه مفضلاً الحجم على السرعة |
حدث | IPE_EVENT_NAMESPACE= ... | بشكل افتراضي ، يتم تعريف فئات event في مساحة الاسم الجذر. يمكنك استخدام متغير البيئة هذا لتحديد مساحة اسم مخصصة |
GD | IPE_GD_WITHOUTAVIF=1 | منذ PHP 8.1 ، يدعم GD تنسيق AVIF. يتطلب تمكينها تجميع libaom/libdav1d/libyuv/libavif على دبيان حتى 11 و alpine حتى 3.14 ، وهو يستغرق وقتًا طويلاً. يمكنك تعطيل دعم AVIF من خلال تعيين متغير البيئة هذا على إصدارات نظام التشغيل هذه |
OCI8 و PDO_OCI | IPE_INSTANTCLIENT_BASIC=1 | تتطلب امتدادات OCI8 و PDO_OCI PHP عميل Oracle الفوري. من أجل حفظ مساحة القرص ، نقوم بتثبيت إصدار Lite الأساسي: إذا كنت ترغب في تثبيت الإصدار الأساسي (غير LITE) ، فما عليك سوى تعيين متغير البيئة هذا |
HTTP ، Intl ، Mongodb | IPE_ICU_EN_ONLY=1 | تتطلب بعض الامتدادات مكتبة وحدة العناية المركزة ، واستخدم هذه العلامة لتثبيت مكتبة وحدة العناية المركزة الأصغر ، ولكن فقط ، فقط ، على جبال الألب 3.16 ، وبعد ذلك |
PSPELL | IPE_ASPELL_LANGUAGES='...' | قم بتكوين اللغات المراد توفيرها (على سبيل المثال: IPE_ASPELL_LANGUAGES='en fr' ). إذا تم حذفه ، فسوف en |
IPE_DEB_ARCHIVE & IPE_DEB_ARCHIVE_SECURITY | ربما تم أرشفة الحزم المناسبة لإصدارات Debian القديمة جدًا (على سبيل المثال Jessie): يمكنك استخدام متغيرات البيئة هذه لتحديد عناوين URL المخصصة لهذه المحفوظات المناسبة | |
نيوريليك | IPE_NEWRELIC_DAEMON=1 | قم بتثبيت الخفي النيوديليك |
نيوريليك | IPE_NEWRELIC_KEEPLOG=1 | حافظ على ملفات السجل الخاصة بالإعداد الجديد ( /tmp/nrinstall-….tar ) |
نيوريليك | NR_INSTALL_KEY | مفتاح ترخيص بقاياك الجديد |
بعض الامتدادات لها متطلبات خاصة:
امتداد | متطلبات |
---|---|
كاساندرا | • غير متوفر في صور jessie دوكر• غير متوفر في صور Docker stretch • غير متوفر في صور buster Docker• غير متوفر في صور bullseye Docker• غير متوفر في صور Docker bookworm |
ddtrace | غير متوفر في صور jessie دوكر |
ecma_intl | • غير متوفر في صور buster Docker• غير متوفر في صور bullseye Docker |
جيوس | • غير متوفر في صور alpine3.9 docker• غير متوفر في صور alpine3.10 docker |
LZ4 | غير متوفر في صور jessie دوكر |
مومبوف | • غير متوفر في صور alpine3.9 docker• غير متوفر في صور alpine3.10 docker• غير متوفر في صور alpine3.11 docker• غير متوفر في صور alpine3.12 docker• غير متوفر في صور alpine3.13 docker• غير متوفر في صور alpine3.14 Docker• غير متوفر في صور alpine3.15 docker |
موازي | يتطلب صورًا مع PHP تم تجميعها مع تمكين سلامة مؤشرات الترابط ( zts ) |
بارل | غير متوفر في صور jessie دوكر |
phpy | غير متوفر في صور buster Docker |
pthreads | يتطلب صورًا مع PHP تم تجميعها مع تمكين سلامة مؤشرات الترابط ( zts ) |
سكسون | غير متوفر في صور Docker alpine |
سيمدجسون | • غير متوفر في صور jessie دوكر• غير متوفر في صور Docker stretch |
الصوديوم | غير متوفر في صور jessie دوكر |
SQLSRV | • غير متوفر في صور 7.1-alpine3.9 Docker• غير متوفر في صور 7.1-alpine3.10 Docker |
كبار الشخصيات | • غير متوفر في صور alpine3.9 docker• غير متوفر في صور jessie دوكر |
wikidiff2 | • غير متوفر في صور jessie دوكر• غير متوفر في صور Docker stretch |
xpass | غير متوفر في صور buster Docker |
يمكنك تشغيل هذا الأمر:
cat /etc/os-release
على سبيل المثال:
PRETTY_NAME= " Debian GNU/Linux 11 (bullseye) "
PRETTY_NAME= " Alpine Linux v3.14 "
عند إرسال طلب سحب ، يتم تنفيذ إجراء GitHub للتحقق مما إذا كانت امتدادات PHP تتأثر تعمل بالفعل (انظر أدناه).
علاوة على ذلك ، نتحقق أيضًا من أن الإصدارات الجديدة من الامتدادات في مستودع PECL ستظل تعمل. يتم ذلك على أساس مجدولة مع إجراء جيثب آخر.
في حالة الفشل ، يتم إرسال رسالة إلى قناة Telegram.
لا تتردد في الاشتراك فيها لتلقي إخطارات الفشل.
قبل إرسال أي طلب سحب ، يجب عليك تنفيذ البرنامج النصي lint
في دليل scripts
(أو lint.bat
على Windows).
إذا لم تقم بذلك ، وإذا كان هناك خطأ في نمط الترميز ، فسترى أن Check shell coding style
و/أو تفشل إجراءات Check PHP coding style
.
سيكون الخطأ مثل هذا:
--- filename.orig
+++ filename
@@ -line number,7 +line number,7 @@
good line of code #1
good line of code #2
good line of code #3
- the original line with a wrong coding style
+ the line wrong coding style that has been corrected
good line of code #4
good line of code #5
good line of code #6
لذلك ، يجب عليك إصلاح السطر المميز (واحد (S) على line number
) عن طريق استبدال ما تراه بعد -
مع ما تراه بعد +
install-php-extensions
data/supported-extensions
، وإضافة سطر جديد مع مقبض الامتداد وقائمة إصدارات PHP المدعومةdata/special-requirements
، مع مقبض الامتداد متبوعًا بمساحة و zts
انظر طلب السحب هذا للحصول على مثال.
install-php-extensions
data/supported-extensions
انظر طلب السحب هذا للحصول على مثال.
إذا قمت بتغيير بعض التعليمات البرمجية التي تؤثر على امتدادات واحدة أو أكثر ، فيرجى إضافة سطر مع Test: extension1, extension2
إلى رسالة أحد طلبات السحب. وبهذه الطريقة ، ستقوم وظائف الاختبار بالتحقق من الامتداد حتى إذا لم تلمس ملف data/supported-extensions
.
إليك مثال على رسالة الالتزام:
Improve the GD and ZIP extensions
Test: gd, zip
الاختبارات فقط تحقق من تثبيت امتداد PHP واحد في وقت واحد. إذا كنت ترغب في اختبار تثبيت المزيد من ملحقات PHP في نفس الوقت ، استخدم رسالة ملزمة مثل هذا:
Improve the GD and ZIP extensions
Test: gd+zip
إذا كان طلب السحب الخاص بك يحتوي على ارتباطات متعددة ، فسوف نتحقق من رسالة "الاختبار:" من كل الالتزام. إذا كنت ترغب في التوقف عن التحليل التالي ، فأضف -STOP-
في الخط "اختبار:" ، على سبيل المثال:
Improve the GD and ZIP extensions
Test: gd, zip, -STOP-
انظر طلب السحب هذا للحصول على مثال.
تحتوي امتدادات PHP المنشورة على أرشيف PECL على ملف package.xml
(أو package2.xml
) الذي يصف إصدارات PHP المدعومة والخيارات التي يمكن استخدامها لتجميعها. عندما نضيف دعمًا لتمديد PHP جديد ، وعندما يتم إصدار إصدار جديد من امتداد PHP ، يتعين علينا التحقق من هذه القيود.
إنها مهمة مملة إلى حد ما ، لذلك قمت بتطوير مشروع يتيح لك التحقق من هذه القيود بسهولة: يمكنك العثور عليها على https://mlocati.github.io/pecl-info (هنا يمكنك العثور على رمز المصدر الخاص به).
انظر ملف MAINTAINERS.md
.
يمكنك أن تقدم لي قهوة شهرية أو قهوة لمرة واحدة