FirebirdSQL / php-firebird

Firebird PHP driver
Other
66 stars 15 forks source link

Downloads out-of-date #34

Open emil-totev opened 1 year ago

emil-totev commented 1 year ago

It would be nice to have updated pre-compiled download versions for newer versions of PHP. Currently there is nothing for 8.1 on Windows, and nothing at all for 8.2 (I know it is still RC, but it is important for testing too).

Also it would be nice to have a general clarification whether these complied versions are compatible through minor PHP revisions (like 8.0.1 and 8.0.23, I think they are) and major PHP versions (like 8.0 and 8.1 and 8.2, I think they are not).

mlazdans commented 1 year ago

I built this extension for Windows for different PHP versions against commit #b6c2883 Perhaps others will find this useful.

Here: https://github.com/mlazdans/php-firebird/releases/tag/1.1.1-b6c2883

MartinKoeditz commented 1 year ago

@emil-totev I just released new Linux versions. Windows builds will follow next week.

@mlazdans Do you have a build environment for windows? Or did you build the extensions one by one? I'm looking for an automated build process.

mlazdans commented 1 year ago

I've got a messy lot of crude batch files (like 30 of them) to initialize dev environment for each PHP version (7.3, 7.4, 8.0, 8.1, 8.2 and 8.3) (following php-sdk) and build extension for Windows both TS and non-TS and 32-bit or 64-bit with Visual Studio.

Resulting SDK folder has become rather big (many GB).

Take a look: bat.zip

Hope it helps. Don't forget to change paths.

MartinKoeditz commented 1 year ago

@mlazdans Thanks for your contribution. I tried the batch, but it doesn't work for me. Can give a short introduction. In my case the php-src folders were not created.

mlazdans commented 1 year ago

Set up php-sdk as described: https://wiki.php.net/internals/windows/stepbystepbuild_sdk_2 Then, for example, run php82-init.bat. This should clone php 8.2 source (git should be in path or just adjust in .bat file). I assume you got Visual Studio set up already? Then try php83-build.bat. If something does not work follow the error message, adjust paths if needed.

mlazdans commented 1 year ago

I compiled 3.0.1 for all PHP versions: https://github.com/mlazdans/php-firebird/releases/tag/v3.0.1

I also created a pull request for Windows build scripts. I made them very compact comparing to previous attempt. @MartinKoeditz please check them out.

Here is some README

MartinKoeditz commented 1 year ago

I did a quick test. Basically it looks good. TS builds are ok. But my NTS versions are not build. I get this error:

   Bibliothek "F:\php-sdk\php8.1\vs16\x86\php-src\Release\php8.lib" und Objekt "F:\php-sdk\php8.1\vs16\x86\php-src\Release\php8.exp" werden erstellt.
   Bibliothek "F:\php-sdk\php8.1\vs16\x86\php-src\Release\php_interbase.lib" und Objekt "F:\php-sdk\php8.1\vs16\x86\php-src\Release\php_interbase.exp" werden erstellt.
interbase.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__tsrm_get_ls_cache" in Funktion "__php_ibase_get_link_trans".
interbase.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__executor_globals_offset" in Funktion "__php_ibase_connect".
F:\php-sdk\php8.1\vs16\x86\php-src\Release\php_interbase.dll : fatal error LNK1120: 2 nicht aufgelöste Externe
NMAKE : fatal error U1077: ""C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\HostX86\x86\link.exe"": Rückgabe-Code "0x460"
Stop.
---------------------------------------------------------------------
PHP 8.1 build FAILED
---------------------------------------------------------------------

The error is the same for the other versions. Any idea?

mlazdans commented 1 year ago

Not 100% but maybe some Windows SDK regarding threading is missing? Perhaps anything else useful printed when you scroll up terminal?

emil-totev commented 7 months ago

@MartinKoeditz , @mlazdans Now PHP 8.3 is officially released, would it be possible to provide Linux and Windows builds for it?

mlazdans commented 6 months ago

Added Windows builds for PHP 8.3 : https://github.com/mlazdans/php-firebird/releases/tag/v3.0.1