Page MenuHomePhorge

PHP 8 supportTag
ActivePublic

Members

  • This project does not have any members.
  • View All

Watchers

  • This project does not have any watchers.
  • View All

Details

Description

To ensure compatibility of PHP code with PHP 8.x

There's some breaking changes in 8.1 and 8.2.

Recent Activity

Thu, May 29

aklapper added a revision to T15824: Deprecation notice at PhabricatorEditorURIEngine.php:283 when no RepositorySlug set: D26036: Fix PHP 8.1 "preg_replace(null)" exception in PhabricatorEditorURIEngine.php.
Thu, May 29, 21:33 · PHP 8 support, Deprecation Notice
aklapper added a comment to T15824: Deprecation notice at PhabricatorEditorURIEngine.php:283 when no RepositorySlug set.

Looking at src/applications/repository/storage/PhabricatorRepository.php I see stuff like $has_shortname = ($this->getRepositorySlug() !== null); so it seems that a repository "slug" is what the UI calls a "short name". That's also seconded by code in DiffusionRepositoryEditEngine.

Thu, May 29, 21:22 · PHP 8 support, Deprecation Notice
aklapper added a comment to T15824: Deprecation notice at PhabricatorEditorURIEngine.php:283 when no RepositorySlug set.

Copying from Q182:

PhabricatorEditorURIEngine.php:283, occurrences: 4
preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated
arcanist(head=stable, ref.master=989690868513, ref.stable=05abd055019c), libphremoteuser(head=clarion, ref.master=944307decd9c, ref.clarion=d0da6c048bd5), phorge(head=stable, custom=4), translations(head=wmf/stable, ref.wmf/stable=76bb64361cec)
#0 preg_replace(string, string, NULL) called at [<phorge>/src/infrastructure/editor/PhabricatorEditorURIEngine.php:283]
#1 PhabricatorEditorURIEngine::escapeToken(NULL) called at [<phorge>/src/infrastructure/editor/PhabricatorEditorURIEngine.php:144]
#2 PhabricatorEditorURIEngine::newURITokensForRepository() called at [<phorge>/src/infrastructure/editor/PhabricatorEditorURIEngine.php:128]
#3 PhabricatorEditorURIEngine::getURITokensForRepository(string) called at [<phorge>/src/infrastructure/editor/PhabricatorEditorURIEngine.php:84]
#4 PhabricatorEditorURIEngine::getURITokensForPath(string) called at [<phorge>/src/applications/differential/view/DifferentialChangesetDetailView.php:371]
#5 DifferentialChangesetDetailView::getEditorURITemplate() called at [<phorge>/src/applications/differential/view/DifferentialChangesetDetailView.php:272]
#6 DifferentialChangesetDetailView::render() called at [<phorge>/src/applications/differential/view/DifferentialChangesetListView.php:240]
#7 DifferentialChangesetListView::render() called at [<phorge>/src/view/AphrontView.php:222]
#8 AphrontView::producePhutilSafeHTML() called at [<phorge>/src/infrastructure/markup/render.php:115]
#9 phutil_escape_html(DifferentialChangesetListView) called at [<phorge>/src/infrastructure/markup/render.php:139]
#10 phutil_escape_html(array) called at [<phorge>/src/infrastructure/markup/render.php:139]
#11 phutil_escape_html(array) called at [<phorge>/src/infrastructure/markup/render.php:97]
#12 phutil_tag(string, array, array) called at [<phorge>/src/view/phui/PHUITwoColumnView.php:236]
#13 PHUITwoColumnView::buildFooter() called at [<phorge>/src/view/phui/PHUITwoColumnView.php:123]
#14 PHUITwoColumnView::getTagContent() called at [<phorge>/src/view/AphrontTagView.php:161]
#15 AphrontTagView::render() called at [<phorge>/src/view/AphrontView.php:222]
#16 AphrontView::producePhutilSafeHTML() called at [<phorge>/src/infrastructure/markup/render.php:115]
#17 phutil_escape_html(PHUITwoColumnView) called at [<phorge>/src/infrastructure/markup/render.php:139]
#18 phutil_escape_html(array) called at [<phorge>/src/infrastructure/markup/render.php:139]
#19 phutil_escape_html(array) called at [<phorge>/src/infrastructure/markup/render.php:97]
#20 phutil_tag(string, array, array) called at [<phorge>/src/view/formation/PHUIFormationContentView.php:13]
#21 PHUIFormationContentView::render() called at [<phorge>/src/view/AphrontView.php:222]
#22 AphrontView::producePhutilSafeHTML() called at [<phorge>/src/infrastructure/markup/render.php:115]
#23 phutil_escape_html(PHUIFormationContentView) called at [<phorge>/src/infrastructure/markup/render.php:139]
#24 phutil_escape_html(array) called at [<phorge>/src/infrastructure/markup/render.php:97]
#25 phutil_tag(string, array, array) called at [<phorge>/src/view/formation/PHUIFormationView.php:58]
#26 PHUIFormationView::render() called at [<phorge>/src/view/AphrontView.php:222]
#27 AphrontView::producePhutilSafeHTML() called at [<phorge>/src/infrastructure/markup/render.php:115]
#28 phutil_escape_html(PHUIFormationView) called at [<phorge>/src/infrastructure/markup/render.php:171]
#29 phutil_implode_html(string, array) called at [<phorge>/src/view/page/PhabricatorBarePageView.php:58]
#30 PhabricatorBarePageView::willRenderPage() called at [<phorge>/src/view/page/PhabricatorStandardPageView.php:217]
#31 PhabricatorStandardPageView::willRenderPage() called at [<phorge>/src/view/page/AphrontPageView.php:46]
#32 AphrontPageView::render() called at [<phorge>/src/view/page/PhabricatorStandardPageView.php:918]
#33 PhabricatorStandardPageView::produceAphrontResponse() called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:724]
#34 AphrontApplicationConfiguration::produceResponse(AphrontRequest, PhabricatorStandardPageView) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:299]
#35 AphrontApplicationConfiguration::processRequest(AphrontRequest, PhutilDeferredLog, AphrontPHPHTTPSink, MultimeterControl) called at [<phorge>/src/aphront/configuration/AphrontApplicationConfiguration.php:203]
#36 AphrontApplicationConfiguration::runHTTPRequest(AphrontPHPHTTPSink) called at [<phorge>/webroot/index.php:35]
Thu, May 29, 20:31 · PHP 8 support, Deprecation Notice
aklapper added a subtask for T15064: Make Phorge compatible with PHP 8.1/8.2/8.3/8.4: T15824: Deprecation notice at PhabricatorEditorURIEngine.php:283 when no RepositorySlug set.
Thu, May 29, 09:21 · PHP 8 support
aklapper added a parent task for T15824: Deprecation notice at PhabricatorEditorURIEngine.php:283 when no RepositorySlug set: T15064: Make Phorge compatible with PHP 8.1/8.2/8.3/8.4.
Thu, May 29, 09:21 · PHP 8 support, Deprecation Notice

Mon, May 26

valerio.bozzolan added a comment to T16085: PHP 8.1 "strncmp(null)" exception in transaction log for policy changes.

If I guess correctly, isNewObject is automatically guessed correctly, so, the root problem is probably here:

Mon, May 26, 08:46 · PHP 8 support
valerio.bozzolan added a comment to T16085: PHP 8.1 "strncmp(null)" exception in transaction log for policy changes.

Can you discover what's happening here? In theory the editor should detect isNewObject.

Mon, May 26, 08:37 · PHP 8 support

Sun, May 25

aklapper added a revision to T16085: PHP 8.1 "strncmp(null)" exception in transaction log for policy changes: D26032: Mark policy transactions of Conduit-created new tasks as such to fix empty Feed transaction entries.
Sun, May 25, 21:40 · PHP 8 support
aklapper added a comment to T16085: PHP 8.1 "strncmp(null)" exception in transaction log for policy changes.

getIsCreateTransaction() should return true here but it doesn't.
I believe that this underlying problem can also trigger an exception, see https://phabricator.wikimedia.org/T361459

Sun, May 25, 20:59 · PHP 8 support
aklapper created T16085: PHP 8.1 "strncmp(null)" exception in transaction log for policy changes.
Sun, May 25, 10:57 · PHP 8 support

Wed, May 21

valerio.bozzolan closed T16082: Calendar: Fix PHP 8.1 strlen(null) from AphrontFormDateControlValue.php:72 when visiting the Event Create form with start and end dates (without time), a subtask of T15064: Make Phorge compatible with PHP 8.1/8.2/8.3/8.4, as Resolved.
Wed, May 21, 09:59 · PHP 8 support
valerio.bozzolan closed T16082: Calendar: Fix PHP 8.1 strlen(null) from AphrontFormDateControlValue.php:72 when visiting the Event Create form with start and end dates (without time) as Resolved by committing rPaf4ac8bd9567: AphrontFormDateControlValue: fix PHP 8.1 strlen(null) from….
Wed, May 21, 09:59 · Calendar, PHP 8 support

Tue, May 20

valerio.bozzolan claimed T16082: Calendar: Fix PHP 8.1 strlen(null) from AphrontFormDateControlValue.php:72 when visiting the Event Create form with start and end dates (without time).

Yet another one strlen(null)...

Tue, May 20, 13:40 · Calendar, PHP 8 support
valerio.bozzolan added a revision to T16082: Calendar: Fix PHP 8.1 strlen(null) from AphrontFormDateControlValue.php:72 when visiting the Event Create form with start and end dates (without time): D26029: AphrontFormDateControlValue: fix PHP 8.1 strlen(null) from AphrontFormDateControlValue.php:72.
Tue, May 20, 13:39 · Calendar, PHP 8 support
valerio.bozzolan created T16082: Calendar: Fix PHP 8.1 strlen(null) from AphrontFormDateControlValue.php:72 when visiting the Event Create form with start and end dates (without time).
Tue, May 20, 13:35 · Calendar, PHP 8 support

Fri, May 9

valerio.bozzolan added a comment to T15989: `arc` commands: Constant E_STRICT is deprecated (with PHP 8.4).

Thanks. I pinpoint also here your super-relevant extra details: https://we.phorge.it/D25887#26924

Fri, May 9, 09:25 · Deprecation Notice, PHP 8 support, Bug Reports
aklapper closed T15989: `arc` commands: Constant E_STRICT is deprecated (with PHP 8.4) as Resolved by committing rP6619fef2ff97: Remove use of deprecated E_STRICT PHP constant.
Fri, May 9, 09:23 · Deprecation Notice, PHP 8 support, Bug Reports

Wed, May 7

aklapper closed T16062: PHP 8.1 "strlen(null)" exceptions searching in Conpherence as Resolved by committing rP66bad4e5eebe: Fix PHP 8.1 "strlen(null)" exceptions searching in Conpherence.
Wed, May 7, 16:24 · PHP 8 support
aklapper closed T16062: PHP 8.1 "strlen(null)" exceptions searching in Conpherence, a subtask of T15064: Make Phorge compatible with PHP 8.1/8.2/8.3/8.4, as Resolved.
Wed, May 7, 16:24 · PHP 8 support
aklapper added a revision to T16062: PHP 8.1 "strlen(null)" exceptions searching in Conpherence: D25994: Fix PHP 8.1 "strlen(null)" exceptions searching in Conpherence.
Wed, May 7, 13:29 · PHP 8 support
aklapper created T16062: PHP 8.1 "strlen(null)" exceptions searching in Conpherence.
Wed, May 7, 13:22 · PHP 8 support

Apr 24 2025

aklapper closed T15829: Deprecation notice @ PhabricatorStandardPageView.php:630 (missing User-Agent HTTP Header), a subtask of T15064: Make Phorge compatible with PHP 8.1/8.2/8.3/8.4, as Resolved.
Apr 24 2025, 06:08 · PHP 8 support
aklapper closed T15829: Deprecation notice @ PhabricatorStandardPageView.php:630 (missing User-Agent HTTP Header) as Resolved by committing rP372316c99836: Fix PHP 8.1 "preg_match(null)" exception for missing User-Agent HTTP Header.
Apr 24 2025, 06:08 · PHP 8 support, Deprecation Notice

Apr 22 2025

aklapper renamed T15824: Deprecation notice at PhabricatorEditorURIEngine.php:283 when no RepositorySlug set from Deprecation notice at PhabricatorEditorURIEngine.php:283 to Deprecation notice at PhabricatorEditorURIEngine.php:283 when no RepositorySlug set.
Apr 22 2025, 08:10 · PHP 8 support, Deprecation Notice
aklapper renamed T15829: Deprecation notice @ PhabricatorStandardPageView.php:630 (missing User-Agent HTTP Header) from Deprecation notice @ PhabricatorStandardPageView.php:630 to Deprecation notice @ PhabricatorStandardPageView.php:630 (missing User-Agent HTTP Header).
Apr 22 2025, 08:09 · PHP 8 support, Deprecation Notice

Apr 21 2025

connorgurney renamed T15989: `arc` commands: Constant E_STRICT is deprecated (with PHP 8.4) from `arc unit`: Constant E_STRICT is deprecated (with PHP 8.4) to `arc` commands: Constant E_STRICT is deprecated (with PHP 8.4).
Apr 21 2025, 23:50 · Deprecation Notice, PHP 8 support, Bug Reports
connorgurney added a comment to T15989: `arc` commands: Constant E_STRICT is deprecated (with PHP 8.4).

Can confirm that this appears on all commands rather than just unit, so have renamed the task accordingly.

Apr 21 2025, 23:50 · Deprecation Notice, PHP 8 support, Bug Reports

Apr 9 2025

aklapper removed a subtask for T15064: Make Phorge compatible with PHP 8.1/8.2/8.3/8.4: T15354: Exception when trying to create Pholio mock without name.
Apr 9 2025, 08:38 · PHP 8 support
mturdus closed T15536: PHP 8.1 bug reports from mturdus, a subtask of T15064: Make Phorge compatible with PHP 8.1/8.2/8.3/8.4, as Resolved.
Apr 9 2025, 07:17 · PHP 8 support
mturdus closed D25256: Fix PHP 8.1 "strlen(null)" exception on auth email message body when PhabricatorAuthMessage is unset.
Apr 9 2025, 07:17 · PHP 8 support
mturdus closed T15536: PHP 8.1 bug reports from mturdus as Resolved by committing rP99834dd061aa: Fix PHP 8.1 "strlen(null)" exception on auth email message body when….
Apr 9 2025, 07:17 · Bug Reports, PHP 8 support

Apr 8 2025

aklapper closed T15992: PHP 8.1 "strlen(null)" exception adding an MFA provider, a subtask of T15064: Make Phorge compatible with PHP 8.1/8.2/8.3/8.4, as Resolved.
Apr 8 2025, 08:59 · PHP 8 support
aklapper closed T15992: PHP 8.1 "strlen(null)" exception adding an MFA provider as Resolved by committing rPef3e0a75f62e: Fix PHP 8.1 "strlen(null)" exception in Feed setting up MFA.
Apr 8 2025, 08:59 · Auth, PHP 8 support

Apr 7 2025

aklapper accepted D25256: Fix PHP 8.1 "strlen(null)" exception on auth email message body when PhabricatorAuthMessage is unset.

@mturdus: Could you land this one please, or would you like any help? Thanks!

Apr 7 2025, 21:23 · PHP 8 support

Apr 5 2025

mainframe98 removed a revision from T15989: `arc` commands: Constant E_STRICT is deprecated (with PHP 8.4): D25946: Remove support for PHP mysql extension.
Apr 5 2025, 12:07 · Deprecation Notice, PHP 8 support, Bug Reports
mainframe98 added a revision to T15989: `arc` commands: Constant E_STRICT is deprecated (with PHP 8.4): D25946: Remove support for PHP mysql extension.
Apr 5 2025, 12:03 · Deprecation Notice, PHP 8 support, Bug Reports

Apr 2 2025

aklapper updated subscribers of T15724: PHP 8.3: Usage of ldap_connect with two arguments is deprecated.

Patch based on my understanding of taavi's comments in T15963 (as I fail to set up an LDAP server locally):

diff --git a/src/applications/auth/adapter/PhutilLDAPAuthAdapter.php b/src/applications/auth/adapter/PhutilLDAPAuthAdapter.php
index 14047c1761..e25659a4aa 100644
--- a/src/applications/auth/adapter/PhutilLDAPAuthAdapter.php
+++ b/src/applications/auth/adapter/PhutilLDAPAuthAdapter.php
@@ -305,7 +305,16 @@ final class PhutilLDAPAuthAdapter extends PhutilAuthAdapter {
           'port' => $this->port,
         ));
Apr 2 2025, 21:43 · Deprecation Notice, PHP 8 support

Mar 14 2025

Sten closed T16012: DivinerArticleAtomizer.php fails with passing null to strlen error under PHP 8.1, a subtask of T15064: Make Phorge compatible with PHP 8.1/8.2/8.3/8.4, as Resolved.
Mar 14 2025, 09:11 · PHP 8 support
Sten closed T16012: DivinerArticleAtomizer.php fails with passing null to strlen error under PHP 8.1 as Resolved by committing rP3e2d5e4bace1: Fix PHP8.1 strlen(null) error in DivinerArticleAtomizer.php.
Mar 14 2025, 09:11 · PHP 8 support

Mar 13 2025

Sten added a revision to T16012: DivinerArticleAtomizer.php fails with passing null to strlen error under PHP 8.1: D25907: Fix PHP8.1 strlen(null) error in DivinerArticleAtomizer.php.
Mar 13 2025, 14:45 · PHP 8 support
Sten claimed T16012: DivinerArticleAtomizer.php fails with passing null to strlen error under PHP 8.1.
Mar 13 2025, 14:42 · PHP 8 support
Sten created T16012: DivinerArticleAtomizer.php fails with passing null to strlen error under PHP 8.1.
Mar 13 2025, 14:42 · PHP 8 support

Mar 2 2025

xtex added a comment to D25869: Fix PHP 8 exit status cannot be null error in PhutilArgumentParser.

Done. Thank you for your tips!

Mar 2 2025, 00:59 · PHP 8 support
xtex closed T15990: ERROR 8192: exit(): Passing null to parameter #1 ($status) of type string|int is deprecated at [arcanist/src/parser/argument/PhutilArgumentParser.php:494] on PHP 8.4, a subtask of T15064: Make Phorge compatible with PHP 8.1/8.2/8.3/8.4, as Resolved.
Mar 2 2025, 00:58 · PHP 8 support
xtex closed T15990: ERROR 8192: exit(): Passing null to parameter #1 ($status) of type string|int is deprecated at [arcanist/src/parser/argument/PhutilArgumentParser.php:494] on PHP 8.4 as Resolved by committing rARC1cb8a8d5a9a7: Fix PHP 8 exit status cannot be null error in PhutilArgumentParser.
Mar 2 2025, 00:58 · PHP 8 support, Arcanist, Bug Reports
xtex closed D25869: Fix PHP 8 exit status cannot be null error in PhutilArgumentParser.
Mar 2 2025, 00:58 · PHP 8 support

Mar 1 2025

aklapper added a comment to D25869: Fix PHP 8 exit status cannot be null error in PhutilArgumentParser.

@xtex: Hi, would you like to arc land your patch? Or do you need any help? Thanks!

Mar 1 2025, 20:11 · PHP 8 support
aklapper added a parent task for T15990: ERROR 8192: exit(): Passing null to parameter #1 ($status) of type string|int is deprecated at [arcanist/src/parser/argument/PhutilArgumentParser.php:494] on PHP 8.4: T15064: Make Phorge compatible with PHP 8.1/8.2/8.3/8.4.
Mar 1 2025, 20:09 · PHP 8 support, Arcanist, Bug Reports
aklapper added a subtask for T15064: Make Phorge compatible with PHP 8.1/8.2/8.3/8.4: T15990: ERROR 8192: exit(): Passing null to parameter #1 ($status) of type string|int is deprecated at [arcanist/src/parser/argument/PhutilArgumentParser.php:494] on PHP 8.4.
Mar 1 2025, 20:09 · PHP 8 support
aklapper added a subtask for T15064: Make Phorge compatible with PHP 8.1/8.2/8.3/8.4: T15829: Deprecation notice @ PhabricatorStandardPageView.php:630 (missing User-Agent HTTP Header).
Mar 1 2025, 19:34 · PHP 8 support