Laravel 5.0 php artisan tinker throwing an error on homestead with php7 - laravel

I'm using Laravel 5.0 and homestead 0.4.0 wich is shipped with php 7,
so when I use php artisan tinker I get this error:
error
How can I fix this or should I downgrade my php version and if so wouldn't be any conflict with composer or any other tool in my homestead or laravel?

It seems that one of the libraries your application is using - PhpParser - is not compatible with PHP7. It defines a class called String which is a reserved keyword in version 7.
You need to either downgrade to PHP5 or check if it's possible to upgrade your dependencies so that used PhpParser library is compatible with PHP7. Version 2.x of PhpParser should be compatible.
If you're including the package directly in your composer.json try to upgrade version there.
If not, you can see which of your dependencies requires PhpParser by calling
composer depends nikic/php-parser
See if you are able to upgrade versions of packages it lists.

I solved my problem by installing an older version of homestead v0.3.3 wich is shipped with php 5.6 so here is all you need to download it:
$vagrant box add laravel/homestead --box-version 0.3.3
and then download an older version of Homestead installer from git, I'm using v2.1.8 it works fine:

Related

Composer version downgrade issue

So I am currently trying to set up an old Laravel project, which requires PHP 7.1. I have successfully downgraded from 8.1 to 7.1, but now the composer issue appears:
I am trying to run composer install on a project, in order to install the dependecies needed, but I am facing the composer version error. After running the suggested command, it basically shows the same error, which does not really make any sense. I have tried other commands but seems like the issue is the same.
I am using MAC.
Any idea?
The message tells you that the current version of Composer installed cannot be run with the current version of PHP installed. Even downgrading is not possible.
To overcome this, you could update PHP again to any supported version (as in: 7.2.5 or later), then downgrade Composer to v2.2, then downgrade PHP again to 7.1.
If you want to ease the switch between PHP versions, you could check for a containerized PHP setup using Docker.

I can't install Jetstream: [InvalidArgumentException]Package laravel/jetstream

I can't install Jetstream to my Laravel project. When I use the command composer require laravel / jetstream, it will generate the following error:
[InvalidArgumentException]
The laravel / jetstream package has a PHP requirement incompatible with your PHP version, PHP
extensions and
Composer version
My PHP version is 7.2.24, and my Composer version is 2.0.8.
Laravel Jetstream requires PHP version to be minimum 7.3 so you need to upgrade your PHP version to a minimum of 7.3. It would be better if you upgrade it to PHP 7.4 at least. As PHP 7.3 is now EOL - meaning no active support for PHP 7.3, only security fixes for one more year.
https://www.php.net/supported-versions.php
Laravel Jetstream also requires ext-json to be enabled for PHP. So depending upon your PHP version i.e. 7.3.x or 7.4.x or 8.x you need to install ext-json as well - php7.3-json or php7.4-json or php8.0-json
I was having the exact same problem I just upgraded the version of my PHP 7.3 or above and you should also have laravel version 8 to use jetstream. So for upgrading the PHP version in xampp you can refer to this question.
Upgrading PHP in XAMPP for Windows?

Unable to download any pdf packages via composer for larvel 5.5

i am using laravel 5.5 with php 7.0 version, I want to generate a pdf, i tried to install many pdf packages, but unable to install because of php 7.0 version, it requires min 7.1 to install any packages, i tried to find packages for 7.0 verision, but failed.
can anyone help me how to install package for php 7.0 veriosn
Below is the error, that i am getting,
Your requirements could not be resolved to an installable set of packages.
Problem 1 - nwidart/laravel-modules 4.1.0 requires php >=7.1 -> your PHP version (7.0.33) does not satisfy that requirement.
There are only 2 solutions out of this, You either upgrade your PHP version to 7.1 or downgrade your package versions which uses PHP7.0
If you tell me what packages are you using,I could help you out find the packages. Let me know what your use case is exactly, or why your cant upgrade to PHP7.1
Also it is important to note that PHP7.0 includes security vulnerabilities fixed in PHP7.1, So consider upgrading your framework to at-least Laravel 5.8
Edit:
here is a package for pdp utilities in laravel 5.5 -> https://github.com/niklasravnsborg/laravel-pdf
For laravel5.5 you will have to manually link the packages as auto discovery will not work.
Edit 2:
here is the problem, When you use composer require barryvdh/laravel-dompdf the composer installs the latest package which is 0.8.4 (compatible with PHP7.1 and higher), What you need to do instead is add the package manually to the composer file and then bind the version 0.8.3 like this under the require object -> "barryvdh/laravel-dompdf": "0.8.3" and then run composer update/install in the terminal

Why is my laravel installer version still 2.1.0?

When it i first time installed laravel using
composer global require laravel/installer
it shows the version of 2.1.0 not the latest version?
How to fix this problem? i know i can install specific laravel version with
`composer create-project laravel/laravel="6.0.*" appName`
It's annoying cause in the terminal it still shows the version of 2.1.0
The latest version of Laravel installer as of the moment is 2.1.0. Just take note that it is not same with the Laravel framework that will be installed. They're two separate entities.
hat it is not same with the Laravel framework
laravel -V
it gives you laravel installer version
php artisan --version
You get laravel framework version.For you then show it laravel framework 6.

Determine if updating Laravel version was successfull

After updating Laravel from 5.1 to 5.2, using composer update command, files composer.json and composer.lock have correct versions (5.2) written under laravel/framework. But the problem is, once I run php artisan --version in CLI it outputs Laravel Framework version 5.1.45 (LTS) and that confuses me.
Is there a way to be sure which version is now installed and being used?

Resources