1
votes

I am developing ecommerce website in magento 2. I got error when I am adding products from home page:

Zend\Uri\Exception\InvalidUriException: URI is not valid and cannot be converted into a string in /var/www/html/voylite/vendor/zendframework/zend-uri/src/Uri.php:359 Stack trace: #0
/var/www/html/voylite/vendor/zendframework/zend-http/src/Header/AbstractLocation.php(98): Zend\Uri\Uri->toString() #1
/var/www/html/voylite/vendor/zendframework/zend-http/src/Header/AbstractLocation.php(133): Zend\Http\Header\AbstractLocation->getUri() #2
/var/www/html/voylite/vendor/zendframework/zend-http/src/PhpEnvironment/Response.php(98): Zend\Http\Header\AbstractLocation->toString() #3
/var/www/html/voylite/var/generation/Magento/Framework/App/Response/Http/Interceptor.php(310): Zend\Http\PhpEnvironment\Response->sendHeaders() #4
/var/www/html/voylite/vendor/zendframework/zend-http/src/PhpEnvironment/Response.php(128): Magento\Framework\App\Response\Http\Interceptor->sendHeaders() #5
/var/www/html/voylite/var/generation/Magento/Framework/App/Response/Http/Interceptor.php(336): Zend\Http\PhpEnvironment\Response->send() #6
/var/www/html/voylite/vendor/magento/framework/HTTP/PhpEnvironment/Response.php(44): Magento\Framework\App\Response\Http\Interceptor->send() #7
/var/www/html/voylite/vendor/magento/framework/Interception/Interceptor.php(146): Magento\Framework\HTTP\PhpEnvironment\Response->sendResponse() #8
/var/www/html/voylite/var/generation/Magento/Framework/App/Response/Http/Interceptor.php(117): Magento\Framework\App\Response\Http\Interceptor->___callPlugins('sendResponse', Array, Array) #9
/var/www/html/voylite/vendor/magento/framework/App/Http.php(185): Magento\Framework\App\Response\Http\Interceptor->sendResponse() #10
/var/www/html/voylite/vendor/magento/framework/App/Http.php(156): Magento\Framework\App\Http->handleDeveloperMode(Object(Magento\Framework\App\Bootstrap), Object(Zend\Uri\Exception\InvalidUriException)) #11
/var/www/html/voylite/vendor/magento/framework/App/Bootstrap.php(263): Magento\Framework\App\Http->catchException(Object(Magento\Framework\App\Bootstrap), Object(Zend\Uri\Exception\InvalidUriException)) #12
/var/www/html/voylite/index.php(38): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http)) #13 {main}

2

2 Answers

1
votes

The URI which you have set is invalid, fix it. Difficult to offer more help without actually seeing what your input is.

1
votes

For further help, I've got the exact same error while developping an Ajax Controller/Action.

I was preparing the $result object to send the response :

$result = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);

And in some cases, set the redirection URL, depending of the treatement result :

$result->setUrl($this->_url->getUrl('checkout/onepage/success'));

But in one specific case, I've forgotten to set the URL and it caused the previous error. I've struggle a bit before finding out that the problem came from this little mistake.

I hope this may help someone else.