php_fork();

php.internals

overight

21 years ago
Hello What about fork() in php ? I have tried to understand c language yesterday, and I have write that in /ext/standard/basic_functions.c: PHP_FUNCTION(php_fork){ fork(); } (and a few lines to decalare this function) And it's work ! Now I can fork my php scripts with the php_fork() function :) Is it possible to hope that a same function will come in futures versions of php ?

Sean Coates

21 years ago
http://php.net/pcntl S overight wrote:

Derick Rethans

21 years ago
On Sun, 14 Nov 2004, overight wrote:
> Hello > > What about fork() in php ?
http://nl.php.net/pcntl_fork Derick
-- Derick Rethans http://derickrethans.nl | http://ez.no | http://xdebug.org

ilya77@gmail.com

21 years ago
Any chance to see fork() support for Win32 in the near future? On Sun, 14 Nov 2004 16:48:14 +0100 (CET), Derick Rethans <derick@php.net> wrote:

Steph

21 years ago
It's not easy to support something that doesn't exist... ----- Original Message ----- From: <ilya77@gmail.com> To: "Derick Rethans" <derick@php.net> Cc: "overight" <overight@free.fr>; <internals@lists.php.net> Sent: Sunday, November 14, 2004 5:49 PM Subject: Re: [PHP-DEV] php_fork();
> Any chance to see fork() support for Win32 in the near future? > > > On Sun, 14 Nov 2004 16:48:14 +0100 (CET), Derick Rethans <derick@php.net>
wrote:

Andrey Hristov

21 years ago
But as you said support for spoon() can be added. :-) Andrey Steph wrote:

Derick Rethans

21 years ago
On Sun, 14 Nov 2004, ilya77@gmail.com wrote:
> Any chance to see fork() support for Win32 in the near future?
No, win32 has no such concept. Derick
-- Derick Rethans http://derickrethans.nl | http://ez.no | http://xdebug.org

ilya77@gmail.com

21 years ago
Can't it be emulated? On Sun, 14 Nov 2004 16:53:53 +0100 (CET), Derick Rethans <derick@php.net> wrote:

Derick Rethans

21 years ago
On Sun, 14 Nov 2004, ilya77@gmail.com wrote:
> Can't it be emulated?
The *concept* doesn't exist on Windows, so no. Derick
-- Derick Rethans http://derickrethans.nl | http://ez.no | http://xdebug.org

ilya77@gmail.com

21 years ago
The *concept* of copying the address space of a process to another process doesn't exist? How does the Win32 loader work? Btw, I'm not aware of if the PHP engine is multithreaded, but if it's possible to run multiple scripts in multiple threads of the same process, that could do the trick. On Sun, 14 Nov 2004 16:58:39 +0100 (CET), Derick Rethans <derick@php.net> wrote:

Derick Rethans

21 years ago
On Sun, 14 Nov 2004, ilya77@gmail.com wrote:
> The *concept* of copying the address space of a process to another > process doesn't exist? How does the Win32 loader work?
No clue - it's not open source you know. But it does NOT fork something.
> Btw, I'm not aware of if the PHP engine is multithreaded, but if it's > possible to run multiple scripts in multiple threads of the same > process, that could do the trick.
It's not multi-threaded, nor will it ever be. It's not made for it and all previous attempts at making this work failed. There is no way. Derick
-- Derick Rethans http://derickrethans.nl | http://ez.no | http://xdebug.org

Aaron Wormus

21 years ago
Derick Rethans wrote:
>On Sun, 14 Nov 2004, ilya77@gmail.com wrote: > > > >>Can't it be emulated? >> >> > >The *concept* doesn't exist on Windows, so no. > >
Perl emulates it pretty nicely on windows http://www.perldoc.com/perl5.8.4/pod/perlfork.html Aaron

ilya77@gmail.com

21 years ago
My point exactly. However, I *know* that perl emulates it using threads. But, when thinking of it, Cygwin emulates fork() by copying the address space of a process to a newly created process. It's a bit slow, but at least it works. Guess getting into the kernel mode driver land to create *actual* fork() on win32 is a bit beyond php development. On Sun, 14 Nov 2004 21:02:01 +0100, Aaron Wormus <aaron@wormus.com> wrote:
> Derick Rethans wrote: > On Sun, 14 Nov 2004, ilya77@gmail.com wrote:
> Can't it be emulated?
The *concept* doesn't exist on Windows, so no. Perl

Wez Furlong

21 years ago
On Sun, 14 Nov 2004 22:05:16 +0200, ilya77@gmail.com <ilya77@gmail.com> wrote:
> My point exactly. > However, I *know* that perl emulates it using threads.
Which we don't support.
> But, when thinking of it, Cygwin emulates fork() by copying the > address space of a process to a newly created process. It's a bit > slow, but at least it works.
and is buggy.
> Guess getting into the kernel mode driver land to create *actual* > fork() on win32 is a bit beyond php development.
Services for Unix does this kind of thing; it's buggy too. It would be cool to have better threading support and perhaps emulated fork (it's not something I would use), but I can't see it happening without some funding behind it. --Wez.

ilya77@gmail.com

21 years ago
Heh, ActiveState did it after they received funding from Microsoft. Guess that's not gonna happen with PHP. Ever. On Sun, 14 Nov 2004 19:25:09 -0500, Wez Furlong <kingwez@gmail.com> wrote:

Paul G

21 years ago
----- Original Message ----- From: <ilya77@gmail.com> To: "Derick Rethans" <derick@php.net> Cc: "overight" <overight@free.fr>; <internals@lists.php.net> Sent: Sunday, November 14, 2004 10:55 AM Subject: Re: [PHP-DEV] php_fork();
> Can't it be emulated?
the semantics of fork() and CreateProcess(), for example, are antirely different, so no. p

Andrey Hristov

21 years ago
Try pcntl_fork() and the ext/pcntl extension (*nix only but I heard someting about cygphp which uses Cygwin and has ext/pcntl for windows). Andrey overight wrote:

overight

21 years ago
Ok, thanks to all :) Andrey Hristov a écrit :