Closed dmausner closed 1 month ago
On Windows I think there will be an update to SQLite 3.46 one day soon. For other platforms the SQLite library version depends on the packagers and their versioning policy so it cannot be done in php-src like this at this point. For example, on Ubuntu Linux, Canonical and package maintainers decide the package versions for the timeline of some Linux distribution. However, you can build PHP on your own from sources (not exactly recommended to do so for some production due to very complex process and a lot of configuration options). Or the Docker PHP images are also using very recent Linux distributions with quite updated SQLite library.
PHP on the other hand can only limit the minimum required SQLite version and push that a bit as a requirement.
Peter, I appreciate your reply. My servers are all Windows. But I have some test platforms on Debian, and their PHP is compiled by Sury, who does not think it's worthwhile to upgrade all the database releases. I wish that one could just replace the sqlite3 shared libs, to be run-time linked with the PHP extensions. Oh well.
-- Dave Mausner. +1-312-925-3694. Rem tene; verba sequentur -- Cato. Just show me the code -- Dave.
------ Original Message ------ From "Peter Kokot" @.> To "php/php-src" @.> Cc "Dave Mausner" @.>; "Author" @.> Date 2024-07-20 7:08:35 PM Subject Re: [php/php-src] Link latest sqlite3 library into php_sqlite3.dll, php_sqlite3.so (Issue #15048)
On Windows I think there will be an update to SQLite 3.46 one day soon. For other platforms the SQLite library version depends on the packagers and their versioning policy so it cannot be done in php-src like this at this point. For example, on Ubuntu Linux, Canonical and package maintainers decide the package versions for the timeline of some Linux distribution. However, you can build PHP on your own from sources (not exactly recommended to do so for some production due to very complex process and a lot of configuration options). Or the Docker PHP images are also using very recent Linux distributions with quite updated SQLite library.
PHP on the other hand can only limit the minimum required SQLite version and push that a bit as a requirement.
— Reply to this email directly, view it on GitHub https://github.com/php/php-src/issues/15048#issuecomment-2241343448, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB7KS5FAO4IERCK6P7DU3VDZNL3YHAVCNFSM6AAAAABLGKIFJGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBRGM2DGNBUHA. You are receiving this because you authored the thread.Message ID: @.***>
See https://github.com/php/web-php/issues/1005#issuecomment-2241551911 regarding the Windows side.
I don't think there's anything we can do for other platforms; distros are downstream projects, and can rightly do what they deem appropriate. Dynamically linking php_sqlite3.so with an sqlite3 library is likely not an option for binary compatibility which might not be guaranteed by SQLite3 which is an upstream project.
Note though that building your own php_sqlite3.so/.dll isn't that hard if you use phpize
(Windows is likely to require some more involved general build setup, though).
Wrt. Windows see https://github.com/winlibs/sqlite3/pull/6.
Also note that it might not be the best idea to update SQLite3 during the release cycle of a minor PHP version (unless there would be security issues); there always can be minor incompatibilites, so this would need to be discussed on a case by case basis. Updating SQLite3 during GA of a new PHP minor version is likely a good idea, though.
Description
Request: when building next (each) PHP release, re-compile or re-link php_sqlite3 extension with most-recent sqlite3 shared library (or source) from sqlite.org. Major new sqlite3 features are sometimes hidden within minor releases of sqlite3 on every supported platform. (There does not seem to be a documented process for upgrading php_sqlite3 itself, reply if there is such a procedure.)