Download the PHP package takuya/php-proc_open-wrapper without Composer

On this page you can find all versions of the php package takuya/php-proc_open-wrapper. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package php-proc_open-wrapper

Run Process.

Run process and run string by interpreter(ex.python,bash). and keep process long time task running.

proc_open is distinctive style. so I make proc_open EASY and friendly.

Installing

from packagist.

from GitHub repos.

check installation.

sample.php

run.

wait long time process.

comparison proc_open , ProcOpen.

compare proc_open(original) , ProcOpen(this package) in using.

simple (no input, no stdout)

proc_open

ProcOpen Wrapper(this package)

simple ( with stdin,stderr,stdout )

proc_open

ProcOpen Wrapper (this package)

simple ( read output )

Open php Interactive Shell (php -a) and write and read out

proc_open : Do as above.

ProcOpen Wrapper

sample pipe( String and Shell )

proc_open is accept string $cmd but not safe.

ProcOpen wrapper, shell call and pipe io ``

Test

phpunit

examples

See Examples.

safer process call

This package directly exec command, not using 'shell'.

proc_open executes command directly, without shell ( fork then exec ).

Using proc_open correctly, directory traversal vulnerability , shell injection vulnerability will not be occurred. Shell escaping will not be needed. this can reduce risks.

Don't escape string , use array.

use cmd array. not escaping.

proc_open can accept cmd string, but cmd string may be danger(mal-escaping). exec cmd by array is more safe.

you must check arguments.

To prevent directory traversal. you must check args in advance. cmd string cannot be checked, but array can check.

pipe process

Make easy to pipe process by proc_open.

pipe by pure php. It's very painful.

Use this ProcOpen class , reduce cost by naturally call proc_open.

Run string as shell script.

Run string as python code.

run python code in proc_open

Run php interactive shell php -a

wait() is not always needed.

read output will be Blocked by OS until process end. Proc#wait is not always needed.

ProcOpen has shortcut by function

Linux pipe max.

Linux pipe will be Stuck(blocked) if left unread.

LINUX_PIPE_SIZE is 1024*64. so if you try to write one more byte (1024*64+1bytes) to stdout, process will be blocked by OS.

To avoid BUFF stuck use blockingIO instead of wait.

or, To avoid blocking, you can use tmp-io.

Or use select syscall and read the buffer.

'php://temp' may be looks good, but that is not all good. It will be cast to TEMP FILE.

To use fopen wrapppers , flag the property before start.


All versions of php-proc_open-wrapper with dependencies

PHP Build Version
Package Version
Requires php Version >=8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package takuya/php-proc_open-wrapper contains the following files

Loading the files please wait ....