[SOLVED] V4.0.0 - Some Bugs + ZMQ Problems | ZMQ for PHP 8.2.10 NTS | OpenSSL 3 Legacy Setting to Windows Server IIS

The ZMQ issue is a big problem, can’t find any NTS binaries that work with PHP 8.1 or 8.2.

I will try to generate this manually here, and if I succeed, I will make it available for everyone.
I will try to make this work during this week.
However, I recommend not to have too high expectations for this solution, and if possible, try to compile it on your own as well.
I will keep you updated here on what I manage to accomplish!

3 Likes

I tried my best so far… but that task did not get well guys. I think that i will not be able to solve this.

Just did it guys:

https://github.com/zeromq/php-zmq/files/12604467/zmq-php-8.2.10.zip

But it dosen’t work for me… still the same:

Test it, please!

---------------------- ignore this, please.

Hello Mr. Paulo,
I apologize in advance, I want to ask why the libzmq.lib file is not in the link you gave above?
I have downloaded and opened the file from your link but there is no libzmq.lib file (see image below):

Best regards,

Ray

Yeah you right. I’ll keep tryng!

Thanks

3 Likes

Good news guys!
I was able to solve that!

https://github.com/zeromq/php-zmq/files/12610669/ZMQ-4.3.4_x64_PHP8.2.10-NTS.zip

Now it’s working :smiley:

3 Likes

Back again:


XMR are not working :frowning:

Can you run XMR manually? Open a command prompt and navigate to where ever your Xibo directory is (for instance on mine, C:\Xibo-CMS) and then the Vendor\Bin directory and run “php XMR.phar” and see if it starts up and gives heartbeats?

Great, since your XMR is working well, I’ll focus on troubleshooting my environment’s settings in this case. I use an external XMR server hosted on AWS, so I’ll see if there’s anything I can do there.

I asked because I was getting an error that revealed itself to me when I ran it manually; it was looking for/wanted the config.json file to be in C:\XiboInstallDir\vendor\xibosignage\xibo-xmr\bin instead of C:\XiboInstallDir\Vendor\Bin directory.

My requests are coming to my XMR server normally, and still work with my V3 CMS’s:

I’m using the latest version of XMR (0.11) on that server.

But… in my V4 CMS, it dosen’t complete te command:

Player action connection failed. E = Cannot seal message

This is what is shown in the debugger

This is fantastic news! Are these files you produced yourself, or ones you have found?

Cannot seal message

This comes from openssl_seal and is not related to ZMQ. I think you’ll need to allow openssl to use legacy cyphers in php.ini to fix this issue.

I’ve had a quick look and I think this link explains it: Apache/PHP Installing cypher for openssl() - missed in openssl_get_cipher_methods - Stack Overflow

3 Likes

Yes, i produced based on some researches and the documentation of that thread on github (
I spent the night trying to understand how to do this) :

When i have some time, i’ll write a clearer documentation about how to build/compile it.

Great! I’ll test it

Having some documentation for building it would be super useful as a record.

I was actually thinking whether I could add the link https://github.com/zeromq/php-zmq/files/12610669/ZMQ-4.3.4_x64_PHP8.2.10-NTS.zip to the CMS install documentation in a note for windows.

I wasn’t sure how you got them to be uploaded into the zeromq repository and whether there was a release page or issue or something that you’d worked on with them.

Feel free to make it available to IIS/Windows Server users

Still trying… but its not working

Finally it’s working… man :melting_face:

That’s how i did:

I ran the phpinfo() command and found where the openssl configuration files should be.

Both the folder and the files did not exist, and it’s not possible to change the directory via PHP.ini. In this case, I created the SSL folder as it should be.

C:\Program Files\Common Files\SSL/openssl.cnf

In PHP version 8.2.10 (which I’m using) in the extras\ssl\ folder, they provided the legacy.dll to be used on Windows :

I copied the files and made the changes mentioned in this link to the openssl.cnf file.

[openssl_init]
providers = provider_sect
ssl_conf = ssl_sect

# List of providers to load
[provider_sect]
default = default_sect
legacy = legacy_sect

[default_sect]
activate = 1

[legacy_sect]
activate = 1

After that, I had to set an environment variable called OPENSSL_MODULES and point it to the folder where the openssl.cnf and legacy.dll files were located.

And it worked :sweat:

i used those links to solve that in my case:

Now this topic can be closed hahaha My V4 CMS it’s running well with IIS/ Windows Server Custom Configuration.

Thank you @dan

3 Likes

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.