-
Notifications
You must be signed in to change notification settings - Fork 3
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
johannes/pconn-sapi
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
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 0
No packages published