aboutsummaryrefslogtreecommitdiffstats
path: root/includes/PHPVersionCheck.php
Commit message (Collapse)AuthorAgeFilesLines
* Prepare active branch following REL1_43 cut, labelling as 1.44-alphaArlo Breault2024-10-221-1/+1
| | | | | | | Using Idf875e340520f9d05869f9d5d2df34f782d977c5 as a template. Bug: T372318 Change-Id: I1295942306addcd6646426b577e12b623dcf8185
* PHPVersionCheck: Clarify Composer dependencies vs PHP extensionsBartosz Dziewoński2024-05-201-16/+16
| | | | | | | | The message for missing Composer dependencies had the help links for both Composer dependencies and PHP extensions, while the message for missing PHP extensions had neither link. Change-Id: I02d74500afff677e532d606dc4e6df5c5821b1e5
* Prepare active branch following REL1_42 cut, labelling as 1.43-alphaJames D. Forrester2024-04-081-1/+1
| | | | | Bug: T359839 Change-Id: Idf875e340520f9d05869f9d5d2df34f782d977c5
* PHPVersionCheck: Update text to match currently supported upstream PHP ↵Reedy2024-01-131-2/+2
| | | | | | versions (8.1+) Change-Id: I993a1536742c44ade2e4499247967ea4e46099dd
* Prepare active branch following REL1_41 cut, labelling as 1.42-alphaJames D. Forrester2023-10-091-1/+1
| | | | | Bug: T346925 Change-Id: If60d14681be9a0655d6948289f95389a35d5824f
* PHPVersionCheck: Remove unused foreach keyDerick Alangi2023-09-241-1/+1
| | | | | | | | This was introduced in 921343b3f9a006b638e04bcc64e0ef449e8c7fe6 but not used. Let's set it free even though PHP would know this, we do too. Change-Id: Iba523fdffd6ff038c021368d2b00407e48789b1b
* Remove deprecated HTTP header field 'Pragma'Fomafix2023-09-141-1/+0
| | | | | | | | Since RFC 9111 from June 2022 the HTTP header field 'Pragma' is deprecated: https://www.rfc-editor.org/rfc/rfc9111.html#name-pragma Bug: T345420 Change-Id: I6b699cd63396cad2a3dcc64516cfde5a7a64da3d
* Use 'Cache-Control: no-cache' instead of 'Cache-control: none'Fomafix2023-09-061-1/+1
| | | | | | | | | | A response directive 'none' for the HTTP header field 'Cache-Control' is not specified in https://www.rfc-editor.org/rfc/rfc9111.html#name-response-directives Also use the usual capital letter for the HTTP header field name. Change-Id: Ie1020f753f0ca319d8bbf9b6d3da70add8a1dc96
* Expand the PHP installation instructionsWaldir Pimenta2023-05-211-3/+6
| | | | Change-Id: Ie7d19cd37fd17ea5ace8a90cd461230c0ef25b4d
* Tweak "missing dependencies" message when running installer.phpWaldir Pimenta2023-05-201-4/+4
| | | | Change-Id: Ibbef62f1a2548168719abf32977bca0a60e045ec
* Prepare active branch following REL1_40 cut, labelling as 1.41-alphaJames D. Forrester2023-03-131-1/+1
| | | | | Bug: T329079 Change-Id: Ia43b5da4025747cfe5c00de7121d03dd2333dfd7
* .phan/config.php: Update minimum_target_php_versionReedy2022-10-031-1/+1
| | | | | | | Temporarily disable PhanPluginDuplicateExpressionAssignmentOperation Bug: T319186 Change-Id: I8ae3f74f482b5de3dd74471c2e853386d1fe1091
* Drop PHP 7.2 & PHP 7.3 support in MediaWiki master; require 7.4.3James D. Forrester2022-09-291-4/+1
| | | | | | | | | | This patch or its equivalent has been landed in REL1_35, REL1_36, REL1_37, and REL1_38 for dropping PHP 7.2, and REL1_39 for dropping PHP 7.3 as well. Now that Wikimedia servers have moved, it's time to do this for real. Bug: T261872 Change-Id: I6627e456447ac6e3094b3bcd9c21753904170f64
* Prepare active branch following REL1_39 cut, labelling as 1.40-alphaJames D. Forrester2022-09-051-1/+1
| | | | | Bug: T313920 Change-Id: If0da235a55c0379e4217bbd76adf1cbd0024e464
* Prepare active branch following REL1_38 cut, labelling as 1.39-alphaJames D. Forrester2022-03-141-1/+1
| | | | | Bug: T302909 Change-Id: Ic20da125a9252e78d704af0ef1bbca32e071523e
* Tweak error message for missing composer dependencieswctaiwan2021-11-171-3/+3
| | | | | | | | | I tried doing this in Id9a6cf9ee2520db9d405e17eaf34b10bd72897f3 but the error message modified in that patch was specific to the PSR-3 logging library, not for missing composer dependencies. This patch modifies the error message for the latter as well. Change-Id: I713a9037b8c5dc71bf03fb2ec791b3ce63e5f1be
* PHPVersionCheck: Mark PHP 7.4.0 - 7.4.2 as buggyReedy2021-10-121-0/+2
| | | | | | | | Follows-up f28578f9da38e1f41, which removed the "7.4.0 - 7.4.8" bad range. Bug: T246594 Change-Id: I04c33d95aa07c4234fcf4d80ed2dfeccdf579fdd
* Prepare for REL1_37 cut, labelling master as 1.38-alphaJames D. Forrester2021-09-131-1/+1
| | | | | Bug: T289586 Change-Id: I5d64cad0b63c1ef98cb945bb48594a22e05f50cc
* Restore PHP 4.0 compatibility to PHPVersionCheckPetr Pchelko2021-06-071-1/+1
| | | | Change-Id: Iede04d48730ce7dabe0a537a35752f59c1497e46
* Use null coalecing operators everywhere consistenctly.Petr Pchelko2021-06-031-1/+1
| | | | | | Auto-generated with rector. Change-Id: I4f27e10cf029bb067b7bc57d82f7a64e21ea8d42
* Prepare for REL1_36 cut, labelling master as 1.37-alphaJames D. Forrester2021-04-061-1/+1
| | | | | Bug: T279456 Change-Id: Iffb6d982e402d998343ffa00f23bb29fba1723b9
* Exclude includes/PHPVersionCheck.php from phan scanningReedy2021-03-291-2/+0
| | | | | Subset cherry pick of a patch from REL1_35 Change-Id: Ic179ae51e9508e4af8c1fe57b78daa6102534faa
* PHPVersionCheck: Graceful handling for missing php-intlAmmarpad2021-03-201-0/+1
| | | | | | | MediaWiki 1.36 requires php-intl, but missing it currently throws exception instead of graceful failure Change-Id: Id18c45ce4da85105e4c94164cf2c6a4c5536a540
* Make ParserOptionsTest work on PHP<7.4.9 with opcache enabledTim Starling2021-03-021-1/+0
| | | | | | | | | | | | | | | | | | | | Instead of refusing to run MediaWiki at all, just fix the test which fails on 7.4.3. * Add ParserOptions::clearStaticCache(), which resets static cached values back to their pre-hook values. * Add accessors for these private static variables to protect against access before initialisation. * Rename "inCache" to "cacheVaryingOptionsHash" for clarity. * In ParserOptions::match(), filter static properties by detecting them with ReflectionProperty, instead of making a big list of them. * Update ParserOptionsTest for the fact that stubthreshold is no longer a cache-varying option. This was hidden by ParserOptionsTest::clearCache() injecting the wrong array into ParserOptions. Bug: T270228 Change-Id: I6b5ba022e1b889a10f9fbe93da63da9831504df8
* PHPVersionCheck: Complain about known-bad versions above minimumJames D. Forrester2021-02-251-8/+48
| | | | | | | | | | | For now, this complains about 7.4.0 – 7.4.8, and 7.3.0 - 7.3.18. We will back-port this to the REL1_35 live release branch with modifications as that requires 7.3.19+ already. Bug: T246594 Bug: T270228 Change-Id: If5c7e3c1ba9dd9f6561c1de18130ded3aadc7149
* PHPVersionCheck: The PHP Group only support PHP >= 7.3.0Reedy2021-01-301-1/+1
| | | | | | | | | | | And 7.3 goes EOL (security support) 6 Dec 2021. 7.2.0 went EOL 30 Nov 2020. https://www.php.net/supported-versions.php https://www.php.net/eol.php Change-Id: I23f359dbba952e882acd40a0ec3c5e8340ae47b4
* Improve class property documentationUmherirrender2020-10-301-1/+1
| | | | | | Reformat existing documentation to match the format Change-Id: I190b54b5e962f17bab6502dd1b3c02f11dc926d2
* Fix broken PHPDoc comments that don't start with /**Thiemo Kreuz2020-07-231-2/+2
| | | | Change-Id: I8db56ff0f73873864dde260e51adcd729aa74e94
* Prepare for REL1_35 cut, labelling master as 1.36-alphaJames D. Forrester2020-07-141-1/+1
| | | | Change-Id: I91fc77a436468fa9a549383c1dac701cc5f5b6fe
* doxygen: Changed Doxygen tags causing warnings during documentation generationHolger Knust2020-04-141-1/+1
| | | | | | | | | | | Updated Doxygen markup in several .php files triggering warnings when mwdocgen.php is executed. Removed obsolete settings MSCGEN_PATH and TCL_SUBST from Doxyfile. The former would generate a warning in 1.8.16 while TCL support was removed in 1.8.18. Since TCL_SUBST was blank anyway, it was removed prior to getting to .18 in production. Increased DOT_GRAPH_MAX_NODES from 50 to 200 since Doxygen complained about it being too low for API and Maintenance. Bug: T248706 Change-Id: I9c67f0807d1b43089d351263d4f591dee5501f36
* PHPVersionCheck: Refactor triggerError() to be easier to understandTimo Tijhof2020-03-021-38/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rename $longText to $cliText. On the web we show a short intro and then a longer message after it. On the CLI, a single value controls the full output, which used to be $longText. This is now called $cliText to better reflect that it is (only) used on the CLI, and to no longer imply that the short text is also used there, because it isn't. * Remove <p>-wrapping for $longHtml. This is now moved to the callers instead. The long message exists for the purpose of outputting multiple paragraphs and/or other elements (such as lists or tables). Wrapping this in a <p> created a awkward situation where the caller would have to close the implicit <p>, and then re-open it at the end without closing as a way to output two paragraphs. * Make $title be text instead of raw HTML. This never made use of actual HTML, and it wasn't marked as such. It should probably have been called $titleHtml for clarity. To avoid having to think about this, treat it as text and escape it. * Combine all web-facing parameters into one array, and declare their keys in the same order as the output. Previously, the order of was: "$title, $shortText (, $longText), $longHtml" Which suggested that the title is output first, followed by the short and long messages. In actuality, the $shortText was output first, followed by $title, and then the $longHtml. The $title parameter was not actually an overall title. Rather, it was just the title for $longHtml. The overall title is "Internal error" and not controlled by the caller. New keys match the presentation order: 'intro', 'longTitle', and 'longHtml'. * Remove unused "<div class=error>" element. This had no styling of any kind. Renders identically without it. Test Plan: - For each of checkRequiredPHPVersion(), checkVendorExistence() and checkExtensionExistence(), one at a time, change their main 'if' condition to be 'if ( true )' and observe that the output renders correctly. Change-Id: If4331a37c9b62c0061dcec0a1432de320f4c4103
* The PHP Group stopped supporting 7.1 in late 2019Reedy2020-03-021-1/+1
| | | | | | | As per https://www.php.net/eol.php 7.1 was EOL and therefore unsupported since 1 December 2019. Change-Id: I2f6e307457365f0adf1b727b4fff9ed19c685b4f
* Increase PHP requirement from 7.2.9 to 7.2.22 due to segfault issueJames D. Forrester2020-02-241-1/+1
| | | | | | | | Follows 15e0e9bb4, as Parsoid code which can trigger this is reliably is now included in MediaWiki. Bug: T228346 Change-Id: Ia0e9d2b84534e8a03880870e0f4434426b23f47a
* PHPVersionCheck: Simplify warning as part of dropping HHVM supportJames D. Forrester2019-10-101-47/+16
| | | | | Bug: T192166 Change-Id: Ia92b881a7eeab4b8b53531136fb0dbafb6ec30ba
* Set minimum PHP version to 7.2.9Reedy2019-10-101-1/+1
| | | | | Bug: T234766 Change-Id: I25206df6d7bc1587c3e18b1015603b3d264017f7
* Merge "PHP Version Check: Adjust wording on composer dependencies"jenkins-bot2019-10-071-2/+2
|\
| * PHP Version Check: Adjust wording on composer dependenciesKosta Harlan2019-10-021-2/+2
| | | | | | | | | | | | The usage of "now" implies that this is a recent change. Change-Id: Ia18d088464b65580bb1631c4d6aaf5c23c5c89ce
* | Drop HHVM support from MediaWikiJames D. Forrester2019-10-021-22/+5
| | | | | | | | | | | | | | | | This is just a first, top-level patch for documentation and the PHPVersionCheck class itself. Much more clean-up to follow. Bug: T192166 Change-Id: I50f5adc8d5fff604a14c8a889a31d3b92cc568c5
* | Prepare for REL1_34 cut, labelling master as 1.35-alphaJames D. Forrester2019-09-301-1/+1
|/ | | | Change-Id: Iae024da81a3808a58e17af2278e104abbcd3dd1e
* PHPVersionCheck: Consistently use double quotes for HTML attributesFomafix2019-09-221-4/+4
| | | | Change-Id: I6130d12b34ee4dc5e5896c7fa6a7bc14b1ed9893
* docs: Avoid some scalar jugglingDaimona Eaytoy2019-09-191-2/+2
| | | | | | | | | Phan can treat scalar types as non-interchangeable with `scalar_implicit_cast` set to false. This patch fixes some of those issues (which are in total >1000), namely the ones with alphabetic order < includes/actions. Change-Id: Ib1c6573ab899088bc319b9da9ceaffc850da3dbe
* Bump PHP version requirement to 7.2.0+James D. Forrester2019-09-161-2/+2
| | | | | | Bug: T216165 Bug: T216166 Change-Id: I99e45c2a8fd1512a76a42ce978cb96f39ee2456e
* Remove spurious `@class` tags in two filesTimo Tijhof2019-09-091-2/+0
| | | | | | | | | | | | | | | | | | | This was only used in two PHP files in all of core. It is not needed (the block above the class keyword is naturally for that class) and only emits a warning from Doxygen: > PHPVersionCheck.php:35: warning: missing argument after \class. > SpecialPageData.php:28: warning: missing argument after \class. This is unlike JSDuck, where it is used to differentiate a function from a constructor/class. In Doxygen, `@class` is only used to create a virtual class within the docs that isn't explicitly in an indexed file, and thus requires a name. Bug: T232104 Change-Id: Ie504a8e2b72be8f370dc0c90da6a03f64d93df2d
* PHPVersionCheck: remove version_compare() existence checkMax Semenik2019-06-141-4/+1
| | | | | | It was added to PHP in 2001. Change-Id: I3b14d726aa1cefd6b64e4bac39ef489b3c79ac1a
* Use https://www.php.net/ instead of https://secure.php.net/Fomafix2019-04-121-2/+2
| | | | Change-Id: I0acca592c6909e91b28b904da49dcbd6a43cd2a5
* Prepare for REL1_33 cut, labelling master as 1.34-alphaJames D. Forrester2019-04-101-1/+1
| | | | Change-Id: I841ee1c898a6db2e4a10b5e8c68647d45f046dc7
* Fix PhanPluginDuplicateConditional* errors (#1)Kunal Mehta2019-03-231-0/+1
| | | | Change-Id: I61e4d4a60dda27f43debab71a9c02f14c1468311
* Update required PHP version to 7.0.13James D. Forrester2019-02-141-1/+1
| | | | | Bug: T209423 Change-Id: I66e563adb062bc132a1092d78bfd06e2210f382e
* PHPVersionCheck: Remove obsolete load.php code and simplifyTimo Tijhof2018-10-281-44/+42
| | | | | | | | | | | | | * Remove obsolete handling for 'load.php', which no longer uses this check. This hasn't been used for several releases. * Remove the 'entryPoint' parameter in favour of 'format', which it was already a proxy for. * Move the double dirname() logic to mw-config/index.php. Bug: T189966 Change-Id: I343216442475d36e61213900f196ab6ec5f6b747
* Add docs and minor cleanup in PHPVersionCheck.phpAlangi Derick2018-10-181-9/+11
| | | | | | | - Consistency of the acronym PHP instead of "php". - Add documentation to $functionsExtensionsMapping. Change-Id: I06b507128bc3b95605a764cd63f621dbae3b2dc3