Page MenuHomePhabricator

Fix a PHP 8.1 strlen() issue with "mysql.pass" configuration
ClosedPublic

Authored by epriestley on Dec 16 2021, 11:07 PM.
Tags
None
Referenced Files
F22728181: D21744.id51837.diff
Sun, Oct 4, 4:24 AM
F22719212: D21744.id51832.diff
Sat, Oct 3, 8:44 PM
F22718279: D21744.id51831.diff
Sat, Oct 3, 7:55 PM
F22718256: D21744.id51838.diff
Sat, Oct 3, 7:55 PM
F22678041: D21744.id51830.diff
Thu, Oct 1, 11:53 PM
F22610664: D21744.id51833.diff
Tue, Sep 29, 3:42 AM
Unknown Object (File)
Fri, Sep 11, 6:58 PM
Unknown Object (File)
Aug 28 2026, 3:50 PM
Subscribers
None

Details

Summary

Ref T13588. This configuration value may not be set.

Also fix an issue in bin/storage and whatever else I hit between now and this diff actually uploading.

Also fix a MySQLi report mode difference, beginning in PHP 8.1.

Also update a bunch of "static" property usage in Lisk.

Test Plan

Ran bin/files ... locally under PHP 8.1.

Diff Detail

Repository
rP Phabricator
Branch
php81
Lint
Lint Passed
Unit
Test Failures
Build Status
Buildable 25617
Build 35437: Run Core Tests
Build 35436: arc lint + arc unit

Unit TestsFailed

TimeTest
11 msPhabricatorHandlePoolTestCase::testHandlePools
EXCEPTION (PhutilAggregateException): Multiple exceptions were raised during test execution. - Execution: RuntimeException: strlen(): Passing null to parameter #1 ($string) of type string is deprecated - Shutdown: Exception: Process exited with an open transaction! The transaction will be implicitly rolled back. Calls to openTransaction() must always be paired with a call to saveTransaction() or killTransaction().
0 msAlmanacNamesTestCase::testServiceOrDeviceNames
30 assertions passed.
0 msAlmanacServiceTypeTestCase::testGetAllServiceTypes
1 assertion passed.
0 msAphrontHTTPHeaderParserTestCase::testHeaderParser
18 assertions passed.
0 msAphrontHTTPSinkTestCase::testHTTPHeaderNames
2 assertions passed.
View Full Test Results (1 Failed · 452 Passed · 2 Skipped)

Event Timeline

  • Add annotations for interfaces implemented by PhabricatorHandleList.
  • Fix a strlen() in query construction.
  • Correct behavior in query clause construction.
  • Fix a piece of user initializing code for PHP 8.1.
  • Fix a PHP 8.1 issue in user querying.
  • Fix a PHP 8.1 check in local disk storage engine code.
  • Fix a PHP 8.1 issue in application search code.
  • Fix another random PHP 8.1 issue.
This revision was not accepted when it landed; it landed in state Needs Review.Dec 16 2021, 11:24 PM
This revision was automatically updated to reflect the committed changes.