PEAR is discontinued

This is a static archive preserving historical releases and metadata. No new packages or updates will be published. For updates to existing packages, or to publish new packages, please use Composer and Packagist.

Home » PHP » PHP_Fork

PHP_Fork class. Wrapper around the pcntl_fork() stuff with a API set like Java language

This package is unmaintained.

Download latest release 0.4.0 (archived versions might be outdated)

License: PHP License

Description

PHP_Fork class. Wrapper around the pcntl_fork() stuff
with a API set like Java language.
Practical usage is done by extending this class, and re-defining
the run() method.
[see basic example]
This way PHP developers can enclose logic into a class that extends
PHP_Fork, then execute the start() method that forks a child process.
Communications with the forked process is ensured by using a Shared Memory
Segment; by using a user-defined signal and this shared memory developers
can access to child process methods that returns a serializable variable.
The shared variable space can be accessed with the tho methods:
o void setVariable($name, $value)
o mixed getVariable($name)
$name must be a valid PHP variable name;
$value must be a variable or a serializable object.
Resources (db connections, streams, etc.) cannot be serialized and so they're not correctly handled.
Requires PHP build with --enable-cli --with-pcntl --enable-shmop.
Only runs on *NIX systems, because Windows lacks of the pcntl ext.
@example browser_pool.php an interactive tool to perform multiple cuncurrent request over an URL.
@example simple_controller.php shows how to attach a controller to started pseudo-threads.
@example exec_methods.php shows a workaround to execute methods into the child process.
@example passing_vars.php shows variable exchange between the parent process and started pseudo-threads.
@example basic.php a basic example, only two pseudo-threads that increment a counter simultaneously.

Maintainers

Dependencies

Required

Releases

Bugs

IDStatusTypeVersionDateSummary
#2758ClosedBug2004-11-15Deps not listed
#5186OpenBug2005-08-23IPC Share memory segments stay resident
#9472ClosedBug0.3.02006-11-26package not installable
#12210DuplicateBug0.3.02007-10-09Channel not available