[go: up one dir, main page]

Skip to content

A PHP SAPI module to emulate PHP requests in a loop, this can be used to test persistent connections or PHP extensions in threaded environments

License

Notifications You must be signed in to change notification settings

johannes/pconn-sapi

Repository files navigation

pconnect tester for PHP

This is a small tool helping while testing persistent connections with PHP,
without the need for installing and configuring a web server and the
complexity added by such a web server.

This tool simulates  multiple requests by running a PHP script multiple times
simulating multiple requests. The executed script can then open persistent
connections and verify the connection on following requests.

This simplifies automation of tests and memory checking.

Installation

For installation put this code into a directory sapi/pconn inside a PHP
source tree, then run `./buildconf` and `./configure` PHP using the
--enable-pconn switch. For testing multithreading make use of
the --enable-maintainer-zts switch.

When running `make` a binary `sapi/pconn/php-pconn` is created. Currently this
won't be installed by `make install`.


This package includes a simple sample:
$ ./php-pconn -a samples/start.php -z samples/shutdown.php -n10 samples/main.php 

If your PHP was compiled with --enable-maintainer-zts you can run multiple
threads:
$ ./php-pconn -a samples/start.php -z samples/shutdown.php -n10 -t5 samples/main.php 

This will first call start.php then 10x main.php and shutdown.php in the second
case this will be done in 5 threads in parallel. This sample also demonstrates
transport of data with $_PCONN which is a thread-specific container for data
which is available in all requests, similar to $_SESSION. As user you can put 
anything serializable in there.

About

A PHP SAPI module to emulate PHP requests in a loop, this can be used to test persistent connections or PHP extensions in threaded environments

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published