Update is showing php deprecated (Composer upgrade to v2 needed)

Checklist
[yes] I have read intro post: About the Installation Issues category
[yes] I have read the tutorials, help and searched for similar issues
[yes] I provide relevant information about my server (component names and versions, etc.)
[yes] I provide a copy of my logs and healthcheck
[yes] I describe the steps I have taken to trouble shoot the problem
[yes] I describe the steps on how to reproduce the issue

Hi Passbolt Community

-Passbolt 3.8.0 CE
-Nginx
-PostgreSQL
-PHP 8.1.12
-Postfix
-3rd party install instructions
-noobie

After running Passbolt update i got the message below about php. Passbolt looks like it updated all the needed files but errors for a reason i cant figure out. 533 files changed, 15347 insertions(+), 3190 deletions(-)
1st i change the directory to /var/www/passbolt/ then i run the command: sudo su -s /bin/bash -c “/var/www/passbolt/bin/update” www-data

PHP Deprecated:  Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Console/Helper/HelperSet.php on line 104

Deprecated: Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Console/Helper/HelperSet.php on line 104
Composer could not find a composer.json file in /var/www/passbolt/bin
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section

If i re-run install
command: sudo su -s /bin/bash -c “/var/www/passbolt/bin/update” www-data

From https://github.com/passbolt/passbolt_api
 * branch                  master     -> FETCH_HEAD
Already up to date.
PHP Deprecated:  Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Console/Helper/HelperSet.php on line 104

Deprecated: Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Console/Helper/HelperSet.php on line 104
Composer could not find a composer.json file in /var/www/passbolt/bin
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section

I tried switching to php8.0 and running update but no luck
command: sudo update-alternatives --config php

From https://github.com/passbolt/passbolt_api
 * branch                  master     -> FETCH_HEAD
Already up to date.
Composer could not find a composer.json file in /var/www/passbolt/bin
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section

Health Check shows:
command: cd /var/www/passbolt/ and then sudo su -s /bin/bash -c “/var/www/passbolt/bin/cake passbolt healthcheck --verbose” www-data

PHP Warning:  include(/var/www/passbolt/vendor/composer/../../plugins/Passbolt/JwtAuthentication/src/Service/AccessToken/JwtAbstractService.php): Failed to open stream: No such file or directory in /var/www/passbolt/vendor/composer/ClassLoader.php on line 444
PHP Warning:  include(): Failed opening '/var/www/passbolt/vendor/composer/../../plugins/Passbolt/JwtAuthentication/src/Service/AccessToken/JwtAbstractService.php' for inclusion (include_path='.:/usr/share/php') in /var/www/passbolt/vendor/composer/ClassLoader.php on line 444
PHP Fatal error:  Uncaught Error: Class "Passbolt\JwtAuthentication\Service\AccessToken\JwtAbstractService" not found in /var/www/passbolt/config/default.php:63
Stack trace:
#0 /var/www/passbolt/vendor/cakephp/cakephp/src/Core/Configure/Engine/PhpConfig.php(89): include()
#1 /var/www/passbolt/vendor/cakephp/cakephp/src/Core/Configure.php(333): Cake\Core\Configure\Engine\PhpConfig->read()
#2 /var/www/passbolt/config/bootstrap.php(57): Cake\Core\Configure::load()
#3 /var/www/passbolt/vendor/cakephp/cakephp/src/Http/BaseApplication.php(172): require_once('...')
#4 /var/www/passbolt/src/Application.php(143): Cake\Http\BaseApplication->bootstrap()
#5 /var/www/passbolt/vendor/cakephp/cakephp/src/Console/CommandRunner.php(195): App\Application->bootstrap()
#6 /var/www/passbolt/vendor/cakephp/cakephp/src/Console/CommandRunner.php(133): Cake\Console\CommandRunner->bootstrap()
#7 /var/www/passbolt/bin/cake.php(12): Cake\Console\CommandRunner->run()
#8 {main}
  thrown in /var/www/passbolt/config/default.php on line 63

The last error in the log file (/var/www/passbolt/logs/error.log) is from May 2022 and shows no new data.

Any ideas on how to fix my issue? I am really lost, I don’t know what happened…
my guess is a php error on my side…

Thank you

-3rd party install instructions

Can you elaborate on this? Are you installing from source using git and composer?
If so what is your composer version?
Also put the commands you are running (and the directory you are in) not just the output

1 Like

3rd party installation instruction were provided from LinuxBabe.com using source install.

sorry i forgot important details @remy

for an update i do the following:

sudo -u postgres pg_dump passbolt > passbolt.sql

cd /var/www/passbolt/

sudo su -s /bin/bash -c “/var/www/passbolt/bin/update” www-data

i also tried the command, Run the db migration scripts:
sudo su -s /bin/bash -c “/var/www/passbolt/bin/cake migrations migrate --no-lock” www-data

for health check i change the directory to /var/www/passbolt/
and then run the command: sudo su -s /bin/bash -c “/var/www/passbolt/bin/cake passbolt healthcheck --verbose” www-data

I think it looks like an issue with your composer dependencies not being up to date but it could also be something else (there could be issues with files permissions, etc.).

You can try something like this in your passbolt directory in /var/www:

cd /var/www/passbolt
sudo su -s /bin/bash -c "composer install --no-dev -n" www-data
sudo su -s /bin/bash -c "./bin/cake passbolt migrate --backup" www-data
sudo su -s /bin/bash -c "./bin/cake cache clear_all" www-data

See also: Passbolt Help | Update passbolt source install
The deprecation warnings are ok, they will be removed when we drop support for older PHP versions.

Ps. We strongly encourage people to not use LinuxBabe tutorials. They are one-off installation tutorial disconnected from our release tests and regular support scenarios. You would save yourselves some trouble down the line by switching to one official package.

1 Like

I started learning servers over at Linuxbabe, it is a great, amazing website for learning, but i hear you @remy I will look into how to switching over to your install.

When i first heard of Passbolt, it was from LinuxBabe’s site. I would not be using Passbolt CE if it wasn’t for LinuxBabe. I tried the Passbolt install instructions first but i could not follow/figure them out. they were too confusing for me, sorry. i am a true noobie. I also do not like docker. i will give your install instructions another shot.

cd /var/www/passbolt
sudo su -s /bin/bash -c "composer install --no-dev -n" www-data

printed

PHP Deprecated:  Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Console/Helper/HelperSet.php on line 104

Deprecated: Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Console/Helper/HelperSet.php on line 104
Deprecation Notice: Optional parameter $schema declared before required parameter $path is implicitly treated as a required parameter in /usr/share/php/JsonSchema/Constraints/UndefinedConstraint.php:62
Deprecation Notice: Optional parameter $schema declared before required parameter $path is implicitly treated as a required parameter in /usr/share/php/JsonSchema/Constraints/UndefinedConstraint.php:108
Deprecation Notice: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/share/php/JsonSchema/Constraints/Constraint.php:48
Deprecation Notice: Return type of Composer\Repository\ArrayRepository::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/Repository/ArrayRepository.php:206
Deprecation Notice: Return type of Composer\Repository\ArrayRepository::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/Repository/ArrayRepository.php:206
Deprecation Notice: Return type of Composer\Repository\ArrayRepository::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/Repository/ArrayRepository.php:206
Deprecation Notice: Return type of Symfony\Component\Process\Process::getIterator($flags = 0) should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Process/Process.php:606
Deprecation Notice: Method ReflectionParameter::getClass() is deprecated in /usr/share/php/Composer/Repository/RepositoryManager.php:130
Deprecation Notice: Method ReflectionParameter::getClass() is deprecated in /usr/share/php/Composer/Repository/RepositoryManager.php:130
Deprecation Notice: Method ReflectionParameter::getClass() is deprecated in /usr/share/php/Composer/Repository/RepositoryManager.php:130
Deprecation Notice: Method ReflectionParameter::getClass() is deprecated in /usr/share/php/Composer/Repository/RepositoryManager.php:130
Deprecation Notice: Method ReflectionParameter::getClass() is deprecated in /usr/share/php/Composer/Repository/RepositoryManager.php:130
Deprecation Notice: Return type of Composer\DependencyResolver\Pool::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/Pool.php:166
Deprecation Notice: Return type of Composer\Repository\ArrayRepository::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/Repository/ArrayRepository.php:206
Deprecation Notice: Return type of Composer\Repository\CompositeRepository::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/Repository/CompositeRepository.php:139
Loading composer repositories with package information
Installing dependencies from lock file
Deprecation Notice: Return type of Composer\DependencyResolver\RuleSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/RuleSet.php:114
Deprecation Notice: Return type of Composer\DependencyResolver\RuleSet::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/RuleSet.php:99
Deprecation Notice: Return type of Composer\DependencyResolver\Decisions::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/Decisions.php:155
Deprecation Notice: Return type of Composer\DependencyResolver\Decisions::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/Decisions.php:165
Deprecation Notice: Return type of Composer\DependencyResolver\Decisions::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/Decisions.php:160
Deprecation Notice: Return type of Composer\DependencyResolver\Decisions::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/Decisions.php:170
Deprecation Notice: Return type of Composer\DependencyResolver\Decisions::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/Decisions.php:150
Deprecation Notice: Return type of Composer\DependencyResolver\Decisions::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/Decisions.php:145
Deprecation Notice: Return type of Composer\DependencyResolver\RuleSetIterator::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/RuleSetIterator.php:36
Deprecation Notice: Return type of Composer\DependencyResolver\RuleSetIterator::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/RuleSetIterator.php:46
Deprecation Notice: Return type of Composer\DependencyResolver\RuleSetIterator::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/RuleSetIterator.php:41
Deprecation Notice: Return type of Composer\DependencyResolver\RuleSetIterator::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/RuleSetIterator.php:89
Deprecation Notice: Return type of Composer\DependencyResolver\RuleSetIterator::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/RuleSetIterator.php:70
PHP Fatal error:  Uncaught ArgumentCountError: array_merge() does not accept unknown named parameters in /usr/share/php/Composer/DependencyResolver/DefaultPolicy.php:84
Stack trace:
#0 [internal function]: array_merge()
#1 /usr/share/php/Composer/DependencyResolver/DefaultPolicy.php(84): call_user_func_array()
#2 /usr/share/php/Composer/DependencyResolver/Solver.php(387): Composer\DependencyResolver\DefaultPolicy->selectPreferredPackages()
#3 /usr/share/php/Composer/DependencyResolver/Solver.php(740): Composer\DependencyResolver\Solver->selectAndInstall()
#4 /usr/share/php/Composer/DependencyResolver/Solver.php(231): Composer\DependencyResolver\Solver->runSat()
#5 /usr/share/php/Composer/Installer.php(489): Composer\DependencyResolver\Solver->solve()
#6 /usr/share/php/Composer/Installer.php(232): Composer\Installer->doInstall()
#7 /usr/share/php/Composer/Command/InstallCommand.php(122): Composer\Installer->run()
#8 /usr/share/php/Symfony/Component/Console/Command/Command.php(255): Composer\Command\InstallCommand->execute()
#9 /usr/share/php/Symfony/Component/Console/Application.php(934): Symfony\Component\Console\Command\Command->run()
#10 /usr/share/php/Symfony/Component/Console/Application.php(273): Symfony\Component\Console\Application->doRunCommand()
#11 /usr/share/php/Composer/Console/Application.php(281): Symfony\Component\Console\Application->doRun()
#12 /usr/share/php/Symfony/Component/Console/Application.php(149): Composer\Console\Application->doRun()
#13 /usr/share/php/Composer/Console/Application.php(113): Symfony\Component\Console\Application->run()
#14 /usr/bin/composer(62): Composer\Console\Application->run()
#15 {main}
  thrown in /usr/share/php/Composer/DependencyResolver/DefaultPolicy.php on line 84

Fatal error: Uncaught ArgumentCountError: array_merge() does not accept unknown named parameters in /usr/share/php/Composer/DependencyResolver/DefaultPolicy.php:84
Stack trace:
#0 [internal function]: array_merge()
#1 /usr/share/php/Composer/DependencyResolver/DefaultPolicy.php(84): call_user_func_array()
#2 /usr/share/php/Composer/DependencyResolver/Solver.php(387): Composer\DependencyResolver\DefaultPolicy->selectPreferredPackages()
#3 /usr/share/php/Composer/DependencyResolver/Solver.php(740): Composer\DependencyResolver\Solver->selectAndInstall()
#4 /usr/share/php/Composer/DependencyResolver/Solver.php(231): Composer\DependencyResolver\Solver->runSat()
#5 /usr/share/php/Composer/Installer.php(489): Composer\DependencyResolver\Solver->solve()
#6 /usr/share/php/Composer/Installer.php(232): Composer\Installer->doInstall()
#7 /usr/share/php/Composer/Command/InstallCommand.php(122): Composer\Installer->run()
#8 /usr/share/php/Symfony/Component/Console/Command/Command.php(255): Composer\Command\InstallCommand->execute()
#9 /usr/share/php/Symfony/Component/Console/Application.php(934): Symfony\Component\Console\Command\Command->run()
#10 /usr/share/php/Symfony/Component/Console/Application.php(273): Symfony\Component\Console\Application->doRunCommand()
#11 /usr/share/php/Composer/Console/Application.php(281): Symfony\Component\Console\Application->doRun()
#12 /usr/share/php/Symfony/Component/Console/Application.php(149): Composer\Console\Application->doRun()
#13 /usr/share/php/Composer/Console/Application.php(113): Symfony\Component\Console\Application->run()
#14 /usr/bin/composer(62): Composer\Console\Application->run()
#15 {main}
  thrown in /usr/share/php/Composer/DependencyResolver/DefaultPolicy.php on line 84

new command

cd /var/www/passbolt
sudo su -s /bin/bash -c "./bin/cake passbolt migrate --backup" www-data

printed

PHP Warning:  include(/var/www/passbolt/vendor/composer/../../plugins/Passbolt/JwtAuthentication/src/Service/AccessToken/JwtAbstractService.php): Failed to open stream: No such file or directory in /var/www/passbolt/vendor/composer/ClassLoader.php on line 444
PHP Warning:  include(): Failed opening '/var/www/passbolt/vendor/composer/../../plugins/Passbolt/JwtAuthentication/src/Service/AccessToken/JwtAbstractService.php' for inclusion (include_path='.:/usr/share/php') in /var/www/passbolt/vendor/composer/ClassLoader.php on line 444
PHP Fatal error:  Uncaught Error: Class "Passbolt\JwtAuthentication\Service\AccessToken\JwtAbstractService" not found in /var/www/passbolt/config/default.php:63
Stack trace:
#0 /var/www/passbolt/vendor/cakephp/cakephp/src/Core/Configure/Engine/PhpConfig.php(89): include()
#1 /var/www/passbolt/vendor/cakephp/cakephp/src/Core/Configure.php(333): Cake\Core\Configure\Engine\PhpConfig->read()
#2 /var/www/passbolt/config/bootstrap.php(57): Cake\Core\Configure::load()
#3 /var/www/passbolt/vendor/cakephp/cakephp/src/Http/BaseApplication.php(172): require_once('...')
#4 /var/www/passbolt/src/Application.php(143): Cake\Http\BaseApplication->bootstrap()
#5 /var/www/passbolt/vendor/cakephp/cakephp/src/Console/CommandRunner.php(195): App\Application->bootstrap()
#6 /var/www/passbolt/vendor/cakephp/cakephp/src/Console/CommandRunner.php(133): Cake\Console\CommandRunner->bootstrap()
#7 /var/www/passbolt/bin/cake.php(12): Cake\Console\CommandRunner->run()
#8 {main}
  thrown in /var/www/passbolt/config/default.php on line 63

new command

cd /var/www/passbolt
sudo su -s /bin/bash -c "./bin/cake cache clear_all" www-data

printed

PHP Warning:  include(/var/www/passbolt/vendor/composer/../../plugins/Passbolt/JwtAuthentication/src/Service/AccessToken/JwtAbstractService.php): Failed to open stream: No such file or directory in /var/www/passbolt/vendor/composer/ClassLoader.php on line 444
PHP Warning:  include(): Failed opening '/var/www/passbolt/vendor/composer/../../plugins/Passbolt/JwtAuthentication/src/Service/AccessToken/JwtAbstractService.php' for inclusion (include_path='.:/usr/share/php') in /var/www/passbolt/vendor/composer/ClassLoader.php on line 444
PHP Fatal error:  Uncaught Error: Class "Passbolt\JwtAuthentication\Service\AccessToken\JwtAbstractService" not found in /var/www/passbolt/config/default.php:63
Stack trace:
#0 /var/www/passbolt/vendor/cakephp/cakephp/src/Core/Configure/Engine/PhpConfig.php(89): include()
#1 /var/www/passbolt/vendor/cakephp/cakephp/src/Core/Configure.php(333): Cake\Core\Configure\Engine\PhpConfig->read()
#2 /var/www/passbolt/config/bootstrap.php(57): Cake\Core\Configure::load()
#3 /var/www/passbolt/vendor/cakephp/cakephp/src/Http/BaseApplication.php(172): require_once('...')
#4 /var/www/passbolt/src/Application.php(143): Cake\Http\BaseApplication->bootstrap()
#5 /var/www/passbolt/vendor/cakephp/cakephp/src/Console/CommandRunner.php(195): App\Application->bootstrap()
#6 /var/www/passbolt/vendor/cakephp/cakephp/src/Console/CommandRunner.php(133): Cake\Console\CommandRunner->bootstrap()
#7 /var/www/passbolt/bin/cake.php(12): Cake\Console\CommandRunner->run()
#8 {main}
  thrown in /var/www/passbolt/config/default.php on line 63

i was reading the link you provided and i am running Composer 1.10.1 and not version 2.

when i ran the command:

$ cd /var/www/passbolt/
$ composer --version

printed

PHP Deprecated:  Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Console/Helper/HelperSet.php on line 104

Deprecated: Return type of Symfony\Component\Console\Helper\HelperSet::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Console/Helper/HelperSet.php on line 104
Deprecation Notice: Optional parameter $schema declared before required parameter $path is implicitly treated as a required parameter in /usr/share/php/JsonSchema/Constraints/UndefinedConstraint.php:62
Deprecation Notice: Optional parameter $schema declared before required parameter $path is implicitly treated as a required parameter in /usr/share/php/JsonSchema/Constraints/UndefinedConstraint.php:108
Deprecation Notice: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/share/php/JsonSchema/Constraints/Constraint.php:48
Deprecation Notice: Return type of Composer\Repository\ArrayRepository::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/Repository/ArrayRepository.php:206
Deprecation Notice: Return type of Composer\Repository\ArrayRepository::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/Repository/ArrayRepository.php:206
Deprecation Notice: Return type of Composer\Repository\ArrayRepository::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/Repository/ArrayRepository.php:206
Deprecation Notice: Return type of Symfony\Component\Process\Process::getIterator($flags = 0) should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Symfony/Component/Process/Process.php:606
Deprecation Notice: Method ReflectionParameter::getClass() is deprecated in /usr/share/php/Composer/Repository/RepositoryManager.php:130
Deprecation Notice: Method ReflectionParameter::getClass() is deprecated in /usr/share/php/Composer/Repository/RepositoryManager.php:130
Deprecation Notice: Method ReflectionParameter::getClass() is deprecated in /usr/share/php/Composer/Repository/RepositoryManager.php:130
Deprecation Notice: Method ReflectionParameter::getClass() is deprecated in /usr/share/php/Composer/Repository/RepositoryManager.php:130
Deprecation Notice: Method ReflectionParameter::getClass() is deprecated in /usr/share/php/Composer/Repository/RepositoryManager.php:130
Deprecation Notice: Return type of Composer\DependencyResolver\Pool::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /usr/share/php/Composer/DependencyResolver/Pool.php:166
Composer 1.10.1 2020-03-13 20:34:27

while

cd /var/www/passbolt/
composer.phar --version

prints

composer.phar: command not found

thanks @remy i will try to update/install the correct version of composer and see what happens :grinning:

Hi @remy

I updated composer and then ran the following commands that you suggested:

cd /var/www/passbolt
sudo su -s /bin/bash -c "composer install --no-dev -n" www-data
sudo su -s /bin/bash -c "/var/www/passbolt/bin/cake migrations migrate --no-lock" www-data
sudo su -s /bin/bash -c "./bin/cake cache clear_all" www-data

Health Check finally printed: nice one sparky :tada: Thank you so much for your help @remy :heart: My system is back up and running Passbolt v3.8.0

     ____                  __          ____  
    / __ \____  _____ ____/ /_  ____  / / /_ 
   / /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/ 
  / ____/ /_/ (__  |__  ) /_/ / /_/ / / /    
 /_/    \__,_/____/____/_.___/\____/_/\__/   

 Open source password manager for teams
-------------------------------------------------------------------------------
 Healthcheck shell         
-------------------------------------------------------------------------------

 Environment

 [PASS] PHP version 8.1.12.
 [PASS] PCRE compiled with unicode support.
 [PASS] The temporary directory and its content are writable and not executable.
 [PASS] The logs directory and its content are writable.
 [PASS] GD or Imagick extension is installed.
 [PASS] Intl extension is installed.
 [PASS] Mbstring extension is installed.

 Config files

 [PASS] The application config file is present
 [PASS] The passbolt config file is present

 Core config

 [PASS] Debug mode is off.
 [PASS] Cache is working.
 [PASS] Unique value set for security.salt
 [PASS] Full base url is set to https://passbolt.domain.tld
 [PASS] App.fullBaseUrl validation OK.
 [PASS] /healthcheck/status is reachable.

 SSL Certificate

 [PASS] SSL peer certificate validates
 [PASS] Hostname is matching in SSL certificate.
 [PASS] Not using a self-signed certificate

 Database

 [PASS] The application is able to connect to the database
 [PASS] 26 tables found
 [PASS] Some default content is present
 [PASS] The database schema up to date.

 GPG Configuration

 [PASS] PHP GPG Module is installed and loaded.
 [PASS] The environment variable GNUPGHOME is set to /var/www/.gnupg.
 [PASS] The directory /var/www/.gnupg containing the keyring is writable by the webserver user.
 [PASS] The server OpenPGP key is not the default one
 [PASS] The public key file is defined in config/passbolt.php and readable.
 [PASS] The private key file is defined in config/passbolt.php and readable.
 [PASS] The server key fingerprint matches the one defined in config/passbolt.php.
 [PASS] The server public key defined in the config/passbolt.php (or environment variables) is in the keyring.
 [PASS] There is a valid email id defined for the server key.
 [PASS] The public key can be used to encrypt a message.
 [PASS] The private key can be used to sign a message.
 [PASS] The public and private keys can be used to encrypt and sign a message.
 [PASS] The private key can be used to decrypt a message.
 [PASS] The private key can be used to decrypt and verify a message.
 [PASS] The public key can be used to verify a signature.
 [PASS] The server public key format is Gopengpg compatible.
 [PASS] The server private key format is Gopengpg compatible.

 Application configuration

 [PASS] Using latest passbolt version (3.8.0).
 [PASS] Passbolt is configured to force SSL use.
 [PASS] App.fullBaseUrl is set to HTTPS.
 [PASS] Selenium API endpoints are disabled.
 [PASS] Search engine robots are told not to index content.
 [PASS] Registration is closed, only administrators can add users.
 [PASS] Serving the compiled version of the javascript app
 [PASS] All email notifications will be sent.

 JWT Authentication

 [PASS] The JWT Authentication plugin is enabled
 [PASS] The /var/www/passbolt/config/jwt/ directory is not writable.
 [PASS] A valid JWT key pair was found

 SMTP Settings

 [PASS] The SMTP Settings plugin is enabled.
 [PASS] SMTP Settings coherent. You may send a test email to validate them.
 [PASS] The SMTP Settings source is: database.

 [PASS] No error found. Nice one sparky!

2 Likes