本指南说明了如何通过修复错误来为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中文网其他相关文章!