/** * Shutdown and quit all VirtualCLI objects and removes the vcli native binary from memory. */ static function shutdown() { $args = array('action' => 'quit'); VCLIManager::send($args); }
/** * Close the given virtual commandline. */ public function close() { $args = array('console_id' => $this->id, 'action' => 'close'); return VCLIManager::send($args); }
// Remove any prior wordpress folder and latest.zip file $myVCLI->add_command("rm latest.zip;rm -rf wordpress"); // Download the latest copy of WordPress $myVCLI->add_command("wget https://wordpress.org/latest.zip"); // Unzip it $myVCLI->add_command("unzip -q latest.zip"); // LFTP into our host's site, wait 5 seconds to connect $myVCLI->add_command("lftp ftp://spress-deploy:J3NeM4yx@deploy.postmy.info/web --debug 5", 5); // Remove prior wordpress folder, recreate it, cd into it, and wait for 'cd ok' confirmation $myVCLI->add_command("rm -rf wordpress;mkdir wordpress;cd wordpress"); // Change local directory to our unzipped home folder / wordpress and wait for 'lcd ok' confirmation $myVCLI->add_command("lcd ~/wordpress"); // Mirror local to remote using 10 parallel connections (much faster than 1 at a time!), wait for "Total:" confirmation in response $myVCLI->add_command("mirror -R --parallel=10", "Total:"); // Disconnect from lftp, and give it a couple of seconds $myVCLI->add_command("bye", 2); // Cleanup the zip and remove the local wordpress folder $myVCLI->add_command("rm latest.zip;rm -rf wordpress"); // Start the processing queue $myVCLI->start(); // Wait until the queue is done while (false === $myVCLI->is_done()) { // Peek at results every 5 seconds echo $myVCLI->get_results(); sleep(5); } // Show the complete console history echo $myVCLI->get_results(); // Automatically close all terminals and shutdown the VCLI daemon VCLIManager::shutdown();