[李景山php]每天TP5-20170123|thinkphp5-Process.php-5

    /**
     * 开启从底层过程获取输出和错误输出。
     * @return Process
     * @throws \RuntimeException
     */
    public function enableOutput()
    {// enableOutput
        if ($this->isRunning()) {// 如果 运行
            throw new \RuntimeException(‘Enabling output while the process is running is not possible.‘);
        }

        $this->outputDisabled = false;// 输出 标志位 禁止

        return $this;// 返回 类本身
    }

    /**
     * 输出是否禁用
     * @return bool
     */
    public function isOutputDisabled()// 返回 是否 isOutputDisabled 直接返回 当前结果
    {
        return $this->outputDisabled;
    }

    /**
     * 获取当前的输出管道
     * @return string
     * @throws \LogicException
     * @throws \LogicException
     * @api
     */
    public function getOutput()// 获取 当前的 输出 管道
    {
        if ($this->outputDisabled) {// 如果 禁止 输出
            throw new \LogicException(‘Output has been disabled.‘);// logicException
        }

        $this->requireProcessIsStarted(__FUNCTION__);// 获取进程 开始

        $this->readPipes(false, ‘\\‘ === DS ? !$this->processInformation[‘running‘] : true);// 读取管道信息

        return $this->stdout;// 返回输出 信息
        // processInformation
    }

    /**
     * 以增量方式返回的输出结果。
     * @return string
     */
    public function getIncrementalOutput()
    {// 以增量方式返回的输出结果
        $this->requireProcessIsStarted(__FUNCTION__);// 开始进程

        $data = $this->getOutput();// 获取输出信息

        $latest = substr($data, $this->incrementalOutputOffset);// 增量位置

        if (false === $latest) {// 如果增量 为空
            return ‘‘;
        }

        $this->incrementalOutputOffset = strlen($data);// 标注下一次的 起始位置

        return $latest;// 返回 增量 是个字符串
    }

    /**
     * 清空输出
     * @return Process
     */
    public function clearOutput()// 清空 输出
    {
        $this->stdout                  = ‘‘;// 总的输出 数据
        $this->incrementalOutputOffset = 0;// 增量位置 初始化为0

        return $this;// 返回 类本身
    }

    /**
     * 返回当前的错误输出的过程 (STDERR)。
     * @return string
     */
    public function getErrorOutput()
    {// 获取错误输出
        if ($this->outputDisabled) {
            throw new \LogicException(‘Output has been disabled.‘);
        }

        $this->requireProcessIsStarted(__FUNCTION__);// 开始程序

        $this->readPipes(false, ‘\\‘ === DS ? !$this->processInformation[‘running‘] : true);// 读取管道信息

        return $this->stderr;// 返回 错误字符串
    }

    /**
     * 以增量方式返回 errorOutput
     * @return string
     */
    public function getIncrementalErrorOutput()
    {// 增量方式 返回错误信息
        $this->requireProcessIsStarted(__FUNCTION__);

        $data = $this->getErrorOutput();

        $latest = substr($data, $this->incrementalErrorOutputOffset);

        if (false === $latest) {
            return ‘‘;
        }

        $this->incrementalErrorOutputOffset = strlen($data);

        return $latest;
    }// 同上的 普通信息输出

    /**
     * 清空 errorOutput
     * @return Process
     */
    public function clearErrorOutput()
    {
        $this->stderr                       = ‘‘;
        $this->incrementalErrorOutputOffset = 0;

        return $this;
    }// 清空 错误 信息

    /**
     * 获取退出码
     * @return null|int
     */
    public function getExitCode()
    {// 获取 退出码
        if ($this->isSigchildEnabled() && !$this->enhanceSigchildCompatibility) {
            throw new \RuntimeException(‘This PHP has been compiled with --enable-sigchild. You must use setEnhanceSigchildCompatibility() to use this method.‘);
        }
// 获取退出码
        $this->updateStatus(false);//更新状态

        return $this->exitcode;// 退出
    }

    /**
     * 获取退出文本
     * @return null|string
     */
    public function getExitCodeText()
    {
        if (null === $exitcode = $this->getExitCode()) {
            return null;
        }

        return isset(self::$exitCodes[$exitcode]) ? self::$exitCodes[$exitcode] : ‘Unknown error‘;
    }// 获取退出 文本提示

    /**
     * 检查是否成功
     * @return bool
     */
    public function isSuccessful()
    {
        return 0 === $this->getExitCode();
    }// 如果正常退出 为0 就是 成功了

    /**
     * 是否未捕获的信号已被终止子进程
     * @return bool
     */
    public function hasBeenSignaled()
    {
        $this->requireProcessIsTerminated(__FUNCTION__);

        if ($this->isSigchildEnabled()) {
            throw new \RuntimeException(‘This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved.‘);
        }

        $this->updateStatus(false);

        return $this->processInformation[‘signaled‘];
    }
时间: 2024-10-03 21:24:11

[李景山php]每天TP5-20170123|thinkphp5-Process.php-5的相关文章

[李景山php]每天TP5-20170124|thinkphp5-Process.php-6

/**  * 返回导致子进程终止其执行的数.  * @return int  */ public function getTermSignal() {// 返回 子进程 终止其执行的数     $this->requireProcessIsTerminated(__FUNCTION__);// 确认 进程 函数 已经终止,否则 抛出异常     if ($this->isSigchildEnabled()) {// 确认是否 子进程         throw new \RuntimeExce

[李景山php]每天TP5-20170122|thinkphp5-Process.php-4

/**  * 获取PID  * @return int|null  * @throws \RuntimeException  */ public function getPid() {// 获取进程 ID     if ($this->isSigchildEnabled()) {         throw new \RuntimeException('This PHP has been compiled with --enable-sigchild. The process identifie

[李景山php]每天TP5-20161221|thinkphp5-jump.php

<?php /**  * 用法:  * load_trait('controller/Jump');  * class index  * {  *     use \traits\controller\Jump;  *     public function index(){  *         $this->error();  *         $this->redirect();  *     }  * }  */ namespace traits\controller; use

[李景山php]每天TP5-20170120|thinkphp5-Process.php-2

/**  * @var array  */ public static $exitCodes = [// 异常退出 代码     0   => 'OK',// 正常退出     1   => 'General error',// 一般性错误     2   => 'Misuse of shell builtins', // 缺少脚本     126 => 'Invoked command cannot execute',// 执行命令错误     127 => 'Comman

[李景山php]每天TP5-20170119|thinkphp5-Process.php-1

<?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK ] // +---------------------------------------------------------------------- // | Copyright (c) 2006~2015 http://thinkphp.cn All 

[李景山php]每天laravel-20160912|FileSystem-3

    /**      * Copy a file to a new location.      *      * @param  string  $path      * @param  string  $target      * @return bool      */     public function copy($path, $target)     {         return copy($path, $target);     }// wrap a copy funct

[李景山php]每天TP5-20170125|thinkphp5-Process.php-7

    /**      * 获取输入      * @return null|string      */     public function getInput()     {         return $this->input;     }// 获取输入信息     /**      * 设置输入      * @param mixed $input      * @return self      */     public function setInput($input)   

[李景山php]每天laravel-20161131|BelongsToMany.php-3

    /**      * Save a new model and attach it to the parent model.      *      * @param  \Illuminate\Database\Eloquent\Model  $model      * @param  array  $joining      * @param  bool   $touch      * @return \Illuminate\Database\Eloquent\Model      *

安装TP5(thinkphp5)Composer

1.下载 composer.phar (http:\\www.cnblogs.com/JANCHAN/7735882.html),把composer.phar放入php中(例如php-5.4.45) 再建一个composer.bat放在php中(放在同级的文件夹中)---在里面写    @php "%~dp0composer.phar" %* 2.去网站根目录中的  配置  php.ini 改openssl.dll和fileinfo.dll去掉分号(按ctrl+F搜索) 3.写环境变量