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

Windows DLL for Phalcon 5 + PHP 8.2 missing #16318

Closed
vibonaccidtt opened this issue Mar 20, 2023 · 23 comments
Closed

Windows DLL for Phalcon 5 + PHP 8.2 missing #16318

vibonaccidtt opened this issue Mar 20, 2023 · 23 comments
Assignees
Labels
new feature request Planned Feature or New Feature Request

Comments

@vibonaccidtt
Copy link

Windows DLLs for Phalcon 5 + PHP 8.2 are missing.

Are these coming at a later date or was Windows support dropped?

@vibonaccidtt vibonaccidtt added the new feature request Planned Feature or New Feature Request label Mar 20, 2023
@vibonaccidtt vibonaccidtt changed the title Windows DLL for Phalcon 5 + PHP 8.2 misisng Windows DLL for Phalcon 5 + PHP 8.2 missing Mar 20, 2023
@Jeckerson
Copy link
Member

Every time it is hard to do that, as PHP core developers are not interested to support that, even in PECL it is impossible to download new .dlls any more.

I'll see what we can do, but in middle/long term I think PHP team will drop Windows support and focus only on Unix. Especially when Windows has WSL (Windows Subsystem for Linux).

@hakimio
Copy link

hakimio commented Apr 19, 2023

Last update from windows.php.net dated 17 Oct 2022:

Windows PECL build machine died, and the team is still working on the long term plan of building DLLs for PECL extensions with a new CI process. We're doing our best to finish that as soon as possible, and keep you up to date.

Doesn't sound very promising...

@lubber-de
Copy link

Inside the apachelounge.com forum, there is an awesome guy "Jan-E" who provides windows PHP builds including nearly all possible existing php extensions which dont have official windows builds since ages (most probably the ones you are waiting for to be able to compile phalcon 5.x for PHP 8.2+ (PHP 8.3 is around the corner in november as well 😉 and he already provides builds for that as well)

I posted there if he might be able to help you out getting phalcon running for windows in PHP 8.2+

https://www.apachelounge.com/viewtopic.php?p=42022#42022

@Jan-E
Copy link

Jan-E commented Jun 14, 2023

I posted there if he might be able to help you out getting phalcon running for windows in PHP 8.2+

https://www.apachelounge.com/viewtopic.php?p=42022#42022

Done. https://www.apachelounge.com/viewtopic.php?p=42029#42029

@Jan-E
Copy link

Jan-E commented Jun 15, 2023

Quote from UPGRADING.INTERNALS of PHP 8.3:

The fast_add_function() has been removed, use add_function() that will
call the static inline add_function_fast() instead.

Fixed building for PHP 8.3

@hakimio
Copy link

hakimio commented Jun 15, 2023

@Jan-E thank you very much for releasing new Phalcon builds 🙂
Small request: would it be possible to also include grpc and protobuf extensions in the builds?

@Jan-E
Copy link

Jan-E commented Jun 16, 2023

Googling around I found only 1 php_protobuf.dll. For PHP 5.6, so I thought that would not be easy. But it actually was easy, if you know how to write a config.w32 for Windows that mimics the config.m4 for *nix. grpc compiled out-of-the-box, but it took a long time and generated a massive pdb file (75 MB). I will not include the phalcon and grpc extension in my regular builds, because they take too much my laptop-resources and my own time. You can find the PHP 8.2 builds with phalcon, grpc and protobuf here:
https://phpdev.toolsforresearch.com/php-8.2.7-nts-Win32-vs16-x64-grpc-protobuf.htm
https://phpdev.toolsforresearch.com/php-8.2.7-nts-Win32-vs16-x64-grpc-protobuf.zip
https://phpdev.toolsforresearch.com/php-8.2.7-Win32-vs16-x64-grpc-protobuf.htm
https://phpdev.toolsforresearch.com/php-8.2.7-Win32-vs16-x64-grpc-protobuf.zip

@hakimio
Copy link

hakimio commented Jun 16, 2023

Awesome. Thank you very much :)
Concerning resource usage, have you considered using some free CI/CD pipeline to do the builds? Github Actions or CircleCI?

EDIT: a couple of example workflows:
https://github.com/shivammathur/php-builder-windows/blob/main/.github/workflows/php82.yml
https://github.com/shivammathur/php-extensions-windows/blob/main/.github/workflows/build.yml

@Jan-E
Copy link

Jan-E commented Jun 16, 2023

The sources of the extensions and my patches are not stable enough for something like github actions. I had to try a config.w32 for grpc twice before it worked. And the new config.w32 for protobuf something of 8 times. A real test for an extension requires building all PHP sources and then reconfigure PHP after each edit in a config.w32. And rebuild the extension a couple times until it succeeds. Manual edits and rebuilds, which you cannot script.

@Jan-E
Copy link

Jan-E commented Jun 17, 2023

protocolbuffers/protobuf#13097
grpc/grpc#33478

@HiralRajgor
Copy link

from where i can find php_phalcon.dll file for phalcon 5+, kind of stuck now

@HiralRajgor
Copy link

I posted there if he might be able to help you out getting phalcon running for windows in PHP 8.2+
https://www.apachelounge.com/viewtopic.php?p=42022#42022

Done. https://www.apachelounge.com/viewtopic.php?p=42029#42029

I guess i am new to it, how can i download php_phalcon.dll file from your build and the link provided by you? please help me out

@Jan-E
Copy link

Jan-E commented Jun 20, 2023

https://www.apachelounge.com/viewtopic.php?t=6359
Download the zip file for PHP 8.2.7 and unpack it. It is in there.

Once PHP 5.2.8 is released the links to PHP 8.2.7 will disappear (but the files still there) and I will not be automatically compile phalcon and protobuf anymore. Then you will have to use these links:
https://phpdev.toolsforresearch.com/php-8.2.7-nts-Win32-vs16-x64-grpc-protobuf.htm
https://phpdev.toolsforresearch.com/php-8.2.7-nts-Win32-vs16-x64-grpc-protobuf.zip
https://phpdev.toolsforresearch.com/php-8.2.7-Win32-vs16-x64-grpc-protobuf.htm
https://phpdev.toolsforresearch.com/php-8.2.7-Win32-vs16-x64-grpc-protobuf.zip
php_phalcon.dll is in those zipfiles as well.

copybara-service bot pushed a commit to protocolbuffers/protobuf that referenced this issue Jun 20, 2023
This PR adds a config.w32 for the PHP extension and includes it in the tgz for PECL.
I used this to build php_protobuf.dll for PHP 8.2.7.
See phalcon/cphalcon#16318 (comment) for the request to build the extension and the result.

Please review and merge.

Closes #13097

COPYBARA_INTEGRATE_REVIEW=#13097 from Jan-E:php-windows 4259af1
PiperOrigin-RevId: 542050878
@hakimio
Copy link

hakimio commented Jul 20, 2023

@Jeckerson considering that now you have all the required extension .dlls can you release a Phalcon build for php 8.2 on next Phalcon release?

@niden niden added this to Phalcon v5 Jul 31, 2023
@niden niden moved this to Backlog in Phalcon v5 Jul 31, 2023
@HiralRajgor
Copy link

https://www.apachelounge.com/viewtopic.php?t=6359 Download the zip file for PHP 8.2.7 and unpack it. It is in there.

Once PHP 5.2.8 is released the links to PHP 8.2.7 will disappear (but the files still there) and I will not be automatically compile phalcon and protobuf anymore. Then you will have to use these links: https://phpdev.toolsforresearch.com/php-8.2.7-nts-Win32-vs16-x64-grpc-protobuf.htm https://phpdev.toolsforresearch.com/php-8.2.7-nts-Win32-vs16-x64-grpc-protobuf.zip https://phpdev.toolsforresearch.com/php-8.2.7-Win32-vs16-x64-grpc-protobuf.htm https://phpdev.toolsforresearch.com/php-8.2.7-Win32-vs16-x64-grpc-protobuf.zip php_phalcon.dll is in those zipfiles as well.

Hello @Jan-E Sir, they have solved deprecated errors in Phalcon 5.2.3 for php 8.2, can you please help us to provide PHP builds for the same, as the older version has so many deprecated errors that if we enable error reporting it just goes bad gateway.

@hakimio
Copy link

hakimio commented Aug 24, 2023

@HiralRajgor unfortunately they only fixed some of the deprecation warnings.
Specifically self::/static callable warning is still there.
You can track this bug report to know when it's fixed.

For now you can just disable error reporting for deprecation warnings:

error_reporting(E_ALL ^ E_DEPRECATED);

@HiralRajgor
Copy link

HiralRajgor commented Aug 25, 2023

@hakimio
Ohh okay, Thank you so much

@exstreme
Copy link

exstreme commented Jan 5, 2024

@Jan-E would it be possible to also include last versions of grpc and protobuf extensions with PHP 8.3 ?
Thank you for your work!

@blackjyn
Copy link

well, at this point I understand why Phalcon 6 with 100% PHP 8.x source was considered.

@yamin-hm
Copy link

https://www.apachelounge.com/viewtopic.php?p=42022#42022

Thanks for this!

Would it be possible to compile the latest Phalcon 5.6.1 for PHP 8.3.0?

@niden
Copy link
Member

niden commented Feb 20, 2024

This has been addressed with #16533

Thanks to @JMoodyFWD

The DLL files for 5.6.1 have been uploaded in the release page.

@niden niden closed this as completed Feb 20, 2024
@niden niden moved this from Backlog to Implemented in Phalcon v5 Feb 20, 2024
@niden niden self-assigned this Feb 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature request Planned Feature or New Feature Request
Projects
Status: Implemented
Development

No branches or pull requests

10 participants