setEnv() public method

Set a hash of environment's variables
public setEnv ( $env = null ) : this
return this
Ejemplo n.º 1
0
 /**
  * Constructor.
  * @return void
  */
 public function init()
 {
     $this->header('Content-Type: text/html');
     // default header.
     $this->proc = new \PHPDaemon\Core\ShellCommand();
     $this->proc->readPacketSize = $this->appInstance->readPacketSize;
     $this->proc->onReadData([$this, 'onReadData']);
     $this->proc->onWrite([$this, 'onWrite']);
     $this->proc->binPath = $this->appInstance->binPath;
     $this->proc->chroot = $this->appInstance->chroot;
     if (isset($this->attrs->server['BINPATH'])) {
         if (isset($this->appInstance->binAliases[$this->attrs->server['BINPATH']])) {
             $this->proc->binPath = $this->appInstance->binAliases[$this->attrs->server['BINPATH']];
         } elseif ($this->appInstance->config->allowoverridebinpath->value) {
             $this->proc->binPath = $this->attrs->server['BINPATH'];
         }
     }
     if (isset($this->attrs->server['CHROOT']) && $this->appInstance->config->allowoverridechroot->value) {
         $this->proc->chroot = $this->attrs->server['CHROOT'];
     }
     if (isset($this->attrs->server['SETUSER']) && $this->appInstance->config->allowoverrideuser->value) {
         $this->proc->setUser = $this->attrs->server['SETUSER'];
     }
     if (isset($this->attrs->server['SETGROUP']) && $this->appInstance->config->allowoverridegroup->value) {
         $this->proc->setGroup = $this->attrs->server['SETGROUP'];
     }
     if (isset($this->attrs->server['CWD']) && $this->appInstance->config->allowoverridecwd->value) {
         $this->proc->cwd = $this->attrs->server['CWD'];
     } elseif ($this->appInstance->config->cwd->value !== null) {
         $this->proc->cwd = $this->appInstance->config->cwd->value;
     } else {
         $this->proc->cwd = dirname($this->attrs->server['SCRIPT_FILENAME']);
     }
     $this->proc->setArgs([$this->attrs->server['SCRIPT_FILENAME']]);
     $this->proc->setEnv($this->attrs->server);
     $this->proc->execute();
 }