ที่เก็บนี้มีสคริปต์ที่สามารถใช้ในการติดตั้งส่วนขยาย PHP ภายในภาพ PHP Docker อย่างเป็นทางการ
สคริปต์จะติดตั้งแพ็คเกจ APT/APK ที่ต้องการทั้งหมด ในตอนท้ายของการดำเนินการสคริปต์แพ็คเกจที่ไม่จำเป็นต้องใช้จะถูกลบออกเพื่อให้ภาพมีขนาดเล็กลงมาก
ภาพนักเทียบท่าที่รองรับคือ:
ดูบันทึกย่อในส่วนข้อกำหนดพิเศษ
คุณมีหลายวิธีในการใช้สคริปต์นี้ภายใน Dockerfile
ของคุณ
นี่คือรายการตัวอย่าง 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
สามารถตั้งค่าได้โดยการต่อท้ายชื่อส่วนขยายด้วยสถานะเช่น 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
ใบรับรอง Root CA ของ Let's Encrypt Change (รายละเอียดเพิ่มเติมที่นี่)
ที่ทำลายการแจกแจงแบบ 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 | ||||||||||||
แอสติ้ง | ||||||||||||
BCMath | ||||||||||||
บิตเซ็ต | ||||||||||||
ไฟไหม้ | ||||||||||||
Brotli | ||||||||||||
BZ2 | ||||||||||||
ปฏิทิน | ||||||||||||
คาสซานดรา* | ||||||||||||
cmark | ||||||||||||
CSV | ||||||||||||
DBA | ||||||||||||
ddtrace* | ||||||||||||
ทศนิยม | ||||||||||||
DS | ||||||||||||
ecma_intl* | ||||||||||||
ทำให้หลงเสน่ห์ | ||||||||||||
EV | ||||||||||||
เหตุการณ์ | ||||||||||||
เครื่องชุก | ||||||||||||
exif | ||||||||||||
FFI | ||||||||||||
FTP | ||||||||||||
GD | ||||||||||||
คนเกียร์ | ||||||||||||
GEOIP | ||||||||||||
GEOS* | ||||||||||||
เกี่ยวกับภูมิศาสตร์ | ||||||||||||
getTex | ||||||||||||
กม่าค์ | ||||||||||||
GMP | ||||||||||||
gnupg | ||||||||||||
GRPC | ||||||||||||
http | ||||||||||||
igbinary | ||||||||||||
จินตนาการ | ||||||||||||
การติดเชื้อ | ||||||||||||
ทำให้ไม่ดี | ||||||||||||
ระหว่างฐาน | ||||||||||||
Intl | ||||||||||||
ไอออน | ||||||||||||
ioncube_loader | ||||||||||||
jsmin | ||||||||||||
json_post | ||||||||||||
jsonpath | ||||||||||||
LDAP | ||||||||||||
Luasandbox | ||||||||||||
lz4* | ||||||||||||
LZF | ||||||||||||
mailparse | ||||||||||||
MaxMindDB | ||||||||||||
McRypt | ||||||||||||
memcache | ||||||||||||
มีม. | ||||||||||||
memprof* | ||||||||||||
Mongo | ||||||||||||
MongoDB | ||||||||||||
ยุง | ||||||||||||
msgpack | ||||||||||||
MSSQL | ||||||||||||
mysql | ||||||||||||
mysqli | ||||||||||||
ใหม่ | ||||||||||||
Oauth | ||||||||||||
OCI8 | ||||||||||||
ODBC | ||||||||||||
opcache | ||||||||||||
opencensus | ||||||||||||
openswoole | ||||||||||||
opentelemetry | ||||||||||||
ขนาน* | ||||||||||||
Parle* | ||||||||||||
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 | ||||||||||||
ถ่ายทอด | ||||||||||||
แซกซอน* | ||||||||||||
ชายฝั่งทะเล | ||||||||||||
ทะเล | ||||||||||||
shmop | ||||||||||||
Simdjson* | ||||||||||||
smbclient | ||||||||||||
ฉุนเฉียว | ||||||||||||
SNMP | ||||||||||||
snuffleupagus | ||||||||||||
สบู่ | ||||||||||||
ซ็อกเก็ต | ||||||||||||
โซเดียม* | ||||||||||||
Solr | ||||||||||||
SourceGuardian | ||||||||||||
SPX | ||||||||||||
sqlsrv* | ||||||||||||
SSH2 | ||||||||||||
เหยียบ | ||||||||||||
ขี้เกียจ | ||||||||||||
sybase_ct | ||||||||||||
การซิงค์ | ||||||||||||
sysvmsg | ||||||||||||
Sysvsem | ||||||||||||
sysvshm | ||||||||||||
เทนเซอร์ | ||||||||||||
Tideways | ||||||||||||
เรียบร้อย | ||||||||||||
TimezonedB | ||||||||||||
uopz | ||||||||||||
อัพโหลดโปรแกรม | ||||||||||||
uuid | ||||||||||||
UV | ||||||||||||
วีไอพี* | ||||||||||||
VLD | ||||||||||||
WDDX | ||||||||||||
wikidiff2* | ||||||||||||
xdebug | ||||||||||||
xdiff | ||||||||||||
xhprof | ||||||||||||
xlswriter | ||||||||||||
xmldiff | ||||||||||||
XMLRPC | ||||||||||||
xpass* | ||||||||||||
XSL | ||||||||||||
YAC | ||||||||||||
ยม | ||||||||||||
ซากศพ | ||||||||||||
zephir_parser | ||||||||||||
ซิป | ||||||||||||
ZMQ | ||||||||||||
zookeeper | ||||||||||||
zstd |
จำนวนส่วนขยายที่รองรับ: 151
PS: ส่วนขยาย 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 บน debian ถึง 11 และอัลไพน์ถึง 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 | แพ็คเกจ APT ของ Debian รุ่นเก่ามาก (เช่น Jessie) อาจถูกเก็บถาวร: คุณสามารถใช้ตัวแปรสภาพแวดล้อมเหล่านี้เพื่อระบุ URL ที่กำหนดเองของคลังเก็บ APT เหล่านี้ | |
ใหม่ | IPE_NEWRELIC_DAEMON=1 | ติดตั้ง daemon newrelic |
ใหม่ | IPE_NEWRELIC_KEEPLOG=1 | เก็บไฟล์บันทึกของการตั้งค่า newRelic ( /tmp/nrinstall-….tar ) |
ใหม่ | NR_INSTALL_KEY | คีย์ลิขสิทธิ์ใหม่ของคุณ |
ส่วนขยายบางส่วนมีข้อกำหนดพิเศษ:
ส่วนขยาย | ความต้องการ |
---|---|
คาสซานดรา | •ไม่สามารถใช้ได้ในภาพ jessie Docker•ไม่สามารถใช้งานได้ในภาพ stretch Docker•ไม่สามารถใช้ได้ในภาพ buster Docker•ไม่สามารถใช้งานได้ในรูปภาพ Docker bullseye •ไม่สามารถใช้ได้ในรูปภาพ Docker bookworm |
ddtrace | ไม่สามารถใช้ได้ในภาพ jessie Docker |
ecma_intl | •ไม่สามารถใช้ได้ในภาพ buster Docker•ไม่สามารถใช้งานได้ในรูปภาพ Docker bullseye |
GEOS | •ไม่สามารถใช้ได้ในภาพ Docker alpine3.9 •ไม่สามารถใช้ได้ในภาพ Docker alpine3.10 |
LZ4 | ไม่สามารถใช้ได้ในภาพ jessie Docker |
memprof | •ไม่สามารถใช้ได้ในภาพ Docker alpine3.9 •ไม่สามารถใช้ได้ในภาพ Docker alpine3.10 •ไม่สามารถใช้ได้ในภาพ Docker alpine3.11 •ไม่สามารถใช้ได้ในภาพ Docker alpine3.12 •ไม่สามารถใช้งานได้ในภาพ Docker alpine3.13 •ไม่สามารถใช้งานได้ในภาพ Docker alpine3.14 •ไม่สามารถใช้งานได้ใน alpine3.15 Docker Images |
ขนาน | ต้องใช้รูปภาพด้วย PHP ที่รวบรวมด้วยการเปิดใช้งานความปลอดภัยของเธรด ( zts ) |
พาร์ | ไม่สามารถใช้ได้ในภาพ jessie Docker |
phpy | ไม่สามารถใช้งานได้ในภาพ buster Docker |
pthreads | ต้องใช้รูปภาพด้วย PHP ที่รวบรวมด้วยการเปิดใช้งานความปลอดภัยของเธรด ( zts ) |
ชาวแซ็กซอน | ไม่สามารถใช้ได้ในภาพ alpine Docker |
Simdjson | •ไม่สามารถใช้ได้ในภาพ jessie Docker•ไม่สามารถใช้งานได้ในภาพ stretch Docker |
โซเดียม | ไม่สามารถใช้ได้ในภาพ jessie Docker |
SQLSRV | •ไม่สามารถใช้ได้ในภาพ Docker 7.1-alpine3.9 •ไม่สามารถใช้งานได้ในภาพ Docker 7.1-alpine3.10 |
วีไอพี | •ไม่สามารถใช้ได้ในภาพ Docker alpine3.9 •ไม่สามารถใช้ได้ในภาพ jessie Docker |
Wikidiff2 | •ไม่สามารถใช้ได้ในภาพ jessie Docker•ไม่สามารถใช้งานได้ในภาพ stretch Docker |
xpass | ไม่สามารถใช้งานได้ในภาพ buster Docker |
คุณสามารถเรียกใช้คำสั่งนี้:
cat /etc/os-release
ตัวอย่างเช่น:
PRETTY_NAME= " Debian GNU/Linux 11 (bullseye) "
PRETTY_NAME= " Alpine Linux v3.14 "
เมื่อส่งคำขอดึงการกระทำของ GitHub จะถูกดำเนินการเพื่อตรวจสอบว่าส่วนขยาย PHP ที่ได้รับผลกระทบใช้งานได้จริงหรือไม่ (ดูด้านล่าง)
นอกจากนี้เรายังตรวจสอบว่าส่วนขยายรุ่นใหม่ในที่เก็บ PECL จะยังคงทำงานอยู่ สิ่งนี้ทำตามกำหนดเวลากับการกระทำของ GitHub อื่น
ในกรณีที่ล้มเหลวข้อความจะถูกส่งไปยังช่องโทรเลข
อย่าลังเลที่จะสมัครรับข้อมูลเพื่อรับการแจ้งเตือนความล้มเหลว
ก่อนส่งคำขอดึงใด ๆ คุณควรเรียกใช้สคริปต์ lint
ในไดเรกทอรี scripts
(หรือ lint.bat
บน Windows)
หากคุณไม่ทำเช่นนั้นและหากมีข้อผิดพลาดสไตล์การเข้ารหัสคุณจะเห็นว่า Check shell coding style
และ/หรือ Check PHP coding style
การกระทำของ GitHub จะล้มเหลว
ข้อผิดพลาดจะเป็นเช่นนี้:
--- 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
ดังนั้นคุณควรแก้ไขบรรทัดไฮไลต์ (หมายเลขหนึ่งที่ line number
) โดยแทนที่สิ่งที่คุณเห็นหลังจาก -
ด้วยสิ่งที่คุณเห็นหลังจาก +
install-php-extensions
data/supported-extensions
เพิ่มบรรทัดใหม่ด้วยที่จับของส่วนขยายและรายการรุ่น PHP ที่รองรับdata/special-requirements
พร้อมที่จับส่วนขยายตามด้วยพื้นที่และ zts
ดูคำขอดึงนี้สำหรับตัวอย่าง
install-php-extensions
data/supported-extensions
เพิ่มเวอร์ชัน PHP ใหม่ไปยังบรรทัดที่มีอยู่ซึ่งสอดคล้องกับส่วนขยายที่อัปเดตดูคำขอดึงนี้สำหรับตัวอย่าง
หากคุณเปลี่ยนรหัสบางส่วนที่มีผลต่อการขยายอย่างน้อยหนึ่งรายการโปรดเพิ่มบรรทัดด้วย Test: extension1, extension2
ไปยังข้อความของหนึ่งในคำขอดึง ด้วยวิธีนี้งานทดสอบจะตรวจสอบส่วนขยายแม้ว่าคุณจะไม่ได้สัมผัสไฟล์ data/supported-extensions
นี่คือตัวอย่างของข้อความการกระทำ:
Improve the GD and ZIP extensions
Test: gd, zip
การทดสอบตรวจสอบการติดตั้งส่วนขยาย PHP ครั้งเดียวในแต่ละครั้ง หากคุณต้องการทดสอบการติดตั้งส่วนขยาย PHP เพิ่มเติมในเวลาเดียวกันให้ใช้ข้อความ commit เช่นนี้:
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
คุณสามารถเสนอกาแฟรายเดือนหรือกาแฟครั้งเดียวให้ฉัน