Windows support ?

Issue #21 resolved
Former user created an issue

Hi,

Awesome package but windows support would be awesome. Is that hard to support windows on PHP 7 version because of some fork / signals handlers in source code ?

Comments (11)

  1. Ruslan Osmanov repo owner

    Hi,

    the lack of Windows support is due to the lack of necessity. Most servers are running Linux.

    It's not difficult to introduce Windows support, as both PHP and libev APIs are cross-platform. I think I'll do that someday =)

  2. Romain Laneuville

    True servers are running Linux but developers may run Windows in dev environment :p Thank you for your answer, I will try your extension in prod server once the development of the project I'm going to start will be ready. It uses icicle with websocket packages to handle async PHP tasks and the lib owner highly recommend the use of pecl-ev extension.

  3. Ruslan Osmanov repo owner

    From what I learnt, Windows support is rather limited in Libev. Althought, for temporary(development) purposes should do.

    I've added necessary files for Windows, and it's almost done. "Almost" - because I don't understand why MSVC14's linker fails to resolve symbols from php7/ev.c:

    fe.obj : error LNK2001: unresolved external symbol _zimEvLoop_timer
    ...
    

    I haven't worked on Windows for more than 8 years, so I won't mind if somebody drops a pull request for this thing.

  4. Romain Laneuville

    Unfortunately I am quite busy those days, did you try other Microsoft Visual Studio version to compile? Normally it should be the same version as the one used to build the PHP version. Anyway thanks for working on a Windows support.

  5. Romain Laneuville

    Hi, to test compiling your extension on windows, steps are:

    Getting MSVC14 cloning the repo cd to the repo

    then what's the command to start the compilation ? Or you browse the repo with MSVC14 and run the compilation in the IDE ?

  6. Ruslan Osmanov repo owner

    Hi, steps are here. You'll probably build it successfully. The problem is that the build fails on the PECL server.

  7. Log in to comment