本指南說明瞭如何通過修復錯誤來為PHP的核心做出貢獻。 假設對C和PHP的版本控制有基本的了解,我們將重點關注工作流程。 新功能提交的內容不在本文的範圍之內。
>
密鑰概念:
>>解決一個錯誤:逐步示例
>>讓我們修復錯誤#71635(DatePeriod::getEndDate()
中的segfault in n not end Date設置時)。
php/php-src
主動支持分支(例如,在這種情況下,)。
php-5.6
git checkout -b fix-dateperiod-segfault upstream/php-5.6
segfault.php
<?php $period = new DatePeriod(new DateTimeImmutable("now"), new DateInterval("P2Y4DT6H8M"), 2); var_dump($period->getEndDate()); ?>
sapi/cli/php -n segfault.php
bug71635.phpt
ext/date/tests/
--TEST-- Bug #71635 (segfault in DatePeriod::getEndDate() when no end date has been set) --FILE-- <?php date_default_timezone_set('UTC'); $period = new DatePeriod(new DateTimeImmutable("now"), new DateInterval("P2Y4DT6H8M"), 2); var_dump($period->getEndDate()); ?> --EXPECT-- NULL
make test TESTS=ext/date/tests/bug71635.phpt
。 >
測試和提交:>重新運行測試(make test
)。 一旦成功,請進行更改。
>提交一個PR:提交針對php/php-src
修復PHP核心錯誤是僅需要基本C知識的寶貴貢獻。 它提供實用的編程經驗並有助於改善PHP。 有成千上萬的公開錯誤報告,有足夠的機會參與。 >
常見問題(常見問題解答):
(這些>簡短匯總)> >
>開始:以上是為PHP做出貢獻:如何修復PHP核心中的錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!