objectManager = $objectManager; $this->curl = $curl; } /** * Configure command. * * @return void */ protected function configure() { parent::configure(); $this->setName('troubleshooting:check-htaccess') ->setDescription('Check .htaccess file is present. It is needed to run cli commands via browser url.'); } /** * Execute command. * * @param InputInterface $input * @param OutputInterface $output * @return void * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ protected function execute(InputInterface $input, OutputInterface $output) { \PHPUnit\Util\Configuration::getInstance(MTF_PHPUNIT_FILE)->handlePHPConfiguration(); $output = $this->objectManager->create( \Magento\Mtf\Console\Output::class, ['output' => $output] ); try { $output->writeln("Checking .htaccess file..."); $this->curl->write($_ENV['app_frontend_url'] . $this->commandPath, [], CurlInterface::GET); $this->curl->read(); $responseCode = $this->curl->getInfo(CURLINFO_HTTP_CODE); if ($responseCode != 200) { $message['error'][] = 'Your .htaccess file doesn\'t exist. ' . 'Please, create it from to .htaccess.sample.'; $output->outputMessages($message); } $this->curl->close(); } catch (\Exception $e) { $output->outputMessages(['error' => [$e->getMessage()]]); } $output->writeln(".htaccess check finished."); } }