User tests: Successful: Unsuccessful:
Actually the database is created during the constructor call in the applications. Because the InputFilter
class is requesting the database also in it's constructor. This pr loads the database not before it is actually used.
I'm splitting #16918 into different pr's to be easier to review.
Status | New | ⇒ | Pending |
Category | ⇒ | Libraries |
Labels |
Added:
?
|
For the MySQL server itself, that is a true statement. BUT, there is also a condition based on the library being used to connect by PHP. So there's also an extra check needed if using the mysqlnd library, see [https://github.com/joomla-framework/database/blob/07a8bc36c50bc9e55c5c555bf80c745a2f704aa3/src/Mysqli/MysqliDriver.php#L891-L918](the MysqliDriver class) for this check.
Starting from PHP version 5.4, the mysqlnd client version is 5.0.10. Did I miss something?
See: https://github.com/php/php-src/blob/PHP-5.4/ext/mysqlnd/mysqlnd.h#L25
The bundled version may be appropriate, but also keep in mind it is possible to compile PHP without using the bundled externals included in core PHP.
Should I understand that someone can compile very old version of mysqlnd <= 5.0.8 on php7?
No idea what the extension compatibility is, but in general you can't just rely on what's bundled with PHP to be what is actually used every time (that goes for the extensions and the underlying libraries they depend on, i.e. ext/curl and libcurl). In this case we're probably safe to assume that anything before 5.0.12 is incompatible with PHP 7 though.
A little related example
https://stackoverflow.com/questions/14331003/phpize-and-php-api-version-doesnt-match
AFAIK we are safe and can remove this check.
http://www.phpinternalsbook.com/php7/build_system/building_extensions.html
... If they mismatch, then the extension will not load, and an error message will be displayed.
[UPDATED] This sentence is only for already compiled extension, not related to build process. The same for php-api-version from the first link.
Mysqlnd extension can not be installed by pecl.
Even if someone wants to compile mysqlnd from php5.3 on php7 (manually by phpize), it will be incompatible AFAIK.
I will make a new PR.
Status | Pending | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2018-09-10 06:55:17 |
Closed_By | ⇒ | laoneo |
Joomla4 is trying to take care of utf8, but the minimum version of mysql is 5.5.3, which supports utf8mb4.
AFAIK the result will always be true (for utf8mb4).
See: