Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Link latest sqlite3 library into php_sqlite3.dll, php_sqlite3.so #15048

Closed
dmausner opened this issue Jul 20, 2024 · 4 comments · Fixed by winlibs/sqlite3#6
Closed

Link latest sqlite3 library into php_sqlite3.dll, php_sqlite3.so #15048

dmausner opened this issue Jul 20, 2024 · 4 comments · Fixed by winlibs/sqlite3#6

Comments

@dmausner
Copy link

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.)

@petk
Copy link
Member

petk commented Jul 21, 2024

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.

@dmausner
Copy link
Author

dmausner commented Jul 21, 2024 via email

@cmb69
Copy link
Contributor

cmb69 commented Jul 21, 2024

See php/web-php#1005 (comment) 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).

@cmb69
Copy link
Contributor

cmb69 commented Jul 21, 2024

Wrt. Windows see winlibs/sqlite3#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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants