Giter VIP home page Giter VIP logo

Comments (5)

feamsr00 avatar feamsr00 commented on August 27, 2024 1

Can offer a random confirmation.
Fresh install w/ php 7.4

C:\dev\projects\onx\pgui-122>composer require gabrielrcouto/php-gui:dev-master
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 5 installs, 0 updates, 0 removals
  - Installing evenement/evenement (v2.1.0): Downloading (100%)
  - Installing react/stream (v0.5.0): Downloading (100%)
  - Installing react/event-loop (v0.4.3): Downloading (100%)
  - Installing react/child-process (v0.4.3): Downloading (100%)
  - Installing gabrielrcouto/php-gui (dev-master 7849019): Cloning 7849019063 from cache
react/stream suggests installing react/promise (^2.0)
react/event-loop suggests installing ext-libevent (>=0.1.0)
react/event-loop suggests installing ext-event (~1.0)
react/event-loop suggests installing ext-libev (*)
Writing lock file
Generating autoload files
C:\dev\projects\onx\pgui-122>

I can if not here, I can only assume it got fixed upstream...
Regardless, it's not pinned to crazy broken library and works on current php (7.4.6)

from php-gui.

dignityinside avatar dignityinside commented on August 27, 2024

+1

from php-gui.

reisraff avatar reisraff commented on August 27, 2024

Please, open a PR with these replacements.

from php-gui.

still-dreaming-1 avatar still-dreaming-1 commented on August 27, 2024

Looks like maybe this one is done? I'm not sure where the packages were supposedly used, but I don't see them in composer.json.

from php-gui.

still-dreaming-1 avatar still-dreaming-1 commented on August 27, 2024

Actually I misunderstood the OP. They mentioned 3 packages by name and claimed they were abandoned. I looked for them in php-gui's composer.json and didn't see them. That is all I was observing. I didn't realize this was something composer was reporting. I thought I had a memory of eventually noticing similar but different messages from composer about packages while installing, but now I can't reproduce it, at least not by removing and then adding it again. Perhaps I was thinking of a different tool I tried...

Anyway, php-gui may not be dependent on abandoned packages, but the v0.4.3 of react/child-process that it installs is very out of date, and I suspect it is partially broken for the purposes of this project. According to their README and their release notes, "limited Windows support" was not added until v0.6.0. I suspect this is connected to a problem I have been having where, after adding a decent number of components to a window, if I keep starting and stopping the program while developing, it sometimes does not close down all the way, and has to be force closed. Then once you start it again, the UI is all messed up, so you have to close the window, force close the messaging (with Ctrl+C at the terminal), and then if you start it again, the UI usually goes back to normal.

Also, every time the window gets closed (my project only has one main window) there is an error that occurs. The error message:

proc_terminate() expects parameter 1 to be resource, null given

Here is a print_r() of the entire exception (after I have converted the error into an ErrorException) :

ErrorException Object
(
[message:protected] => proc_terminate() expects parameter 1 to be resource, null given
[string:Exception:private] =>
[code:protected] => 0
[file:protected] => C:\hacking\hunti\vendor\react\child-process\src\Process.php
[line:protected] => 188
[trace:Exception:private] => Array
(
[0] => Array
(
[function] => Dreamy\Hunti{closure}
[class] => Dreamy\Hunti\TheProgram
[type] => ::
[args] => Array
(
[0] => 2
[1] => proc_terminate() expects parameter 1 to be resource, null given
[2] => C:\hacking\hunti\vendor\react\child-process\src\Process.php
[3] => 188
[4] => Array
(
[signal] =>
)

                    )

            )

        [1] => Array
            (
                [file] => C:\hacking\hunti\vendor\react\child-process\src\Process.php
                [line] => 188
                [function] => proc_terminate
                [args] => Array
                    (
                        [0] => 
                    )

            )

        [2] => Array
            (
                [file] => C:\hacking\php-gui\src\Application.php
                [line] => 363
                [function] => terminate
                [class] => React\ChildProcess\Process
                [type] => ->
                [args] => Array
                    (
                    )

            )

        [3] => Array
            (
                [file] => C:\hacking\php-gui\src\Application.php
                [line] => 341
                [function] => terminate
                [class] => Gui\Application
                [type] => ->
                [args] => Array
                    (
                    )

            )

        [4] => Array
            (
                [function] => Gui\{closure}
                [class] => Gui\Application
                [type] => ->
                [args] => Array
                    (
                        [0] => React\EventLoop\Timer\Timer Object
                            (
                                [loop:protected] => React\EventLoop\StreamSelectLoop Object
                                    (
                                        [nextTickQueue:React\EventLoop\StreamSelectLoop:private] => React\EventLoop\Tick\NextTickQueue Object
                                            (
                                                [eventLoop:React\EventLoop\Tick\NextTickQueue:private] => React\EventLoop\StreamSelectLoop Object

RECURSION
[queue:React\EventLoop\Tick\NextTickQueue:private] => SplQueue Object
(
[flags:SplDoublyLinkedList:private] => 4
[dllist:SplDoublyLinkedList:private] => Array
(
)

                                                    )

                                            )

                                        [futureTickQueue:React\EventLoop\StreamSelectLoop:private] => React\EventLoop\Tick\FutureTickQueue Object
                                            (
                                                [eventLoop:React\EventLoop\Tick\FutureTickQueue:private] => React\EventLoop\StreamSelectLoop Object

RECURSION

The dump keeps going on after that for thousands of lines. I suspect this is all because of using a version of react/child-process that is not really supposed to be compatible with Windows. You can see their README and release notes for more information about how to use the newer version in a Windows compatible way. It is not as simple as just updating to the new version or else I would have made a PR. If you just update to the new version, it throws a LogicException, as you are supposed to use it in a specific way on Windows to get limited Windows support.

I'm on:
Windows 10 Home 64 bit. Version 1909. OS build 18363.836
php 7.4.6

UPDATE: The error occuring upon closing the program still happens every time for me, but the other one where the lazarus messaging remains running in the terminal until force closing is very hard to reproduce now.

from php-gui.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.