johnpbloch/php_shell

此包已被废弃,不再维护。未建议替代包。

从PHP环境中运行命令

0.2.1 2013-05-18 18:12 UTC

This package is auto-updated.

Last update: 2022-02-01 12:24:59 UTC


README

PHP Shell 是一个符合 PSR-0 规范的库,用于在选择的壳环境中执行命令(目前支持 bashsh)。

要求

  • PHP 5.3 或更高版本
  • proc_open 和相关函数

安装

推荐通过PEAR扩展安装PHP Shell

pear channel-discover johnpbloch.github.com/pear
pear install johnpbloch/PHP_Shell

安装后,您可以将文件包含到您的项目中(假设您的PEAR目录在 include_path 中)

include 'PHP_Shell/Shell.php';
include 'PHP_Shell/Bash.php';

或者,您可以使用符合PSR-0规范的自动加载器来检查您的PEAR路径。您可以使用PEAR安装一个

pear channel-discover pear.phix-project.org
pear install phix/Autoloader

将上述自动加载器包含到您的项目中

require_once 'psr0.autoloader.php';

如果您希望直接将库源代码包含到您的应用程序中,您可能需要编辑 shell 可执行文件以更改系统PHP二进制的位置。默认情况下,PHP Shell 使用 /usr/bin/php。使用新的位置修改 PHP_Shell/shell 的第一行。除此之外,您应该能够将其放入您的项目中并在代码中使用它。

要找出系统PHP二进制的位置,打开一个终端窗口并运行

which php

使用

使用扩展 \PHP_Shell\Shell 的任何类的静态 exec() 方法。第一个参数(必需)是要执行的命令。任何额外的参数将被解析到命令中,使用 vsprintf()(如果参数多于一个,则将运行 vsprintf())。

use PHP_Shell\Bash;
// Using use:
echo Bash::exec('ls -la %s', escapeshellarg('.'));
// Using the fully qualified name:
echo \PHP_Shell\Sh::exec('git status');

(上面的代码假设您已设置符合PSR-0规范的自动加载器。如果没有,请确保您已包含 PHP_Shell/Shell.php 以及您想要使用的shell文件。)

许可

PHP Shell 在 GPL版本3或更高版本 下授权。