Errors in composer install --no-dev and ./bin/cake passbolt migrate --backup commands

So I upgraded to 2.12.1 today and it all works, exept when I run these commands, I get errors:

[bcgsupport@s201 public_html]$ composer install --no-dev

[ErrorException]
proc_get_status() has been disabled for security reasons

PHP Fatal error: Uncaught ErrorException: proc_get_status() has been disabled for security reasons in phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php:1279
Stack trace:
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, ‘proc_get_status…’, ‘phar:///home/bc…’, 1279, Array)
#1 phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php(1279): proc_get_status(Resource id #310)
#2 phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php(700): Symfony\Component\Process\Process->updateStatus(false)
#3 phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php(752): Symfony\Component\Process\Process->isRunning()
#4 phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php(167): Symfony\Component\Process\Process->stop(0)
#5 [internal function]: Symfony\Component\Process\Process->__destruct()
#6 {main}
thrown in phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php on line 1279

Fatal error: Uncaught ErrorException: proc_get_status() has been disabled for security reasons in phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php:1279
Stack trace:
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, ‘proc_get_status…’, ‘phar:///home/bc…’, 1279, Array)
#1 phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php(1279): proc_get_status(Resource id #310)
#2 phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php(700): Symfony\Component\Process\Process->updateStatus(false)
#3 phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php(752): Symfony\Component\Process\Process->isRunning()
#4 phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php(167): Symfony\Component\Process\Process->stop(0)
#5 [internal function]: Symfony\Component\Process\Process->__destruct()
#6 {main}
thrown in phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php on line 1279
[bcgsupport@s201 public_html]$ ./bin/cake passbolt migrate --backup

 ____                  __          ____  
/ __ \____  _____ ____/ /_  ____  / / /_ 

/ // / __ `/ / / __ / __ / / _/
/ / // ( |
) /
/ / /
/ / / /
/
/ _
,
/
//./_//__/

Open source password manager for teams

Saving backup file: /home/bcgsupport/domains/bcg.support/public_html/tmp/cache/database/backup_1587108909.sql
Warning Error: exec() has been disabled for security reasons in [/home/bcgsupport/domains/bcg.support/public_html/src/Shell/Task/MysqlExportTask.php, line 124]

2020-04-17 07:35:09 Warning: Warning (2): exec() has been disabled for security reasons in [/home/bcgsupport/domains/bcg.support/public_html/src/Shell/Task/MysqlExportTask.php, line 124]

Something went wrong!

again passbolt is running fine on 2.12.1 it seems, but I am somewhat worried about the errors.

Hi @pimzwager,

Have you modified your php.ini?

Yes, I recently upgraded php, and for this to work I had to enable some modules.

Probably that introduced the restrictions for composer.

You could just run composer with a temporary bypass of your php module restrictions:

php -d "disable_functions=" /path/to/composer install --no-dev

Same for the migrations command:

php -d "disable_functions="  /path/to/passbolt/install/bin/cake passbolt migrate --backup
1 Like

sorry, I don’t understand much of composer, I get this error:

[bcgsupport@s201 public_html]$ php -d “disable_functions=” ~/public_html/composer install --no-dev
Could not open input file: /home/bcgsupport/public_html/composer

but he compuser is right there, right?
[bcgsupport@s201 public_html]$ ls
CHANGELOG.md Gruntfile.js README.md bin composer.lock index.php package-lock.json phpunit.xml.dist src tmp webroot
CONTRIBUTING.md LICENSE.txt app composer.json config logs package.json plugins tests vendor
[bcgsupport@s201 public_html]$

You should use the path to your composer binary.

You execute the command I posted from ~/public_html but the command should point to /usr/bin/composer or wherever the composer is installed.

For example:

cd ~/public_html
php -d “disable_functions=” /usr/bin/composer install --no-dev

You can identify your composer path using which composer usually

thanx, although I am still getting the error:

[bcgsupport@s201 public_html]$ php -d “disable_functions=” ~/bin/composer install --no-dev

[ErrorException]
proc_get_status() has been disabled for security reasons

PHP Fatal error: Uncaught ErrorException: proc_get_status() has been disabled for security reasons in phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php:1279
Stack trace:
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, ‘proc_get_status…’, ‘phar:///home/bc…’, 1279, Array)
#1 phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php(1279): proc_get_status(Resource id #310)
#2 phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php(700): Symfony\Component\Process\Process->updateStatus(false)
#3 phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php(752): Symfony\Component\Process\Process->isRunning()
#4 phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php(167): Symfony\Component\Process\Process->stop(0)
#5 [internal function]: Symfony\Component\Process\Process->__destruct()
#6 {main}
thrown in phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php on line 1279

Fatal error: Uncaught ErrorException: proc_get_status() has been disabled for security reasons in phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php:1279
Stack trace:
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, ‘proc_get_status…’, ‘phar:///home/bc…’, 1279, Array)
#1 phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php(1279): proc_get_status(Resource id #310)
#2 phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php(700): Symfony\Component\Process\Process->updateStatus(false)
#3 phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php(752): Symfony\Component\Process\Process->isRunning()
#4 phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php(167): Symfony\Component\Process\Process->stop(0)
#5 [internal function]: Symfony\Component\Process\Process->__destruct()
#6 {main}
thrown in phar:///home/bcgsupport/bin/composer/vendor/symfony/process/Process.php on line 1279

Are you using a 3rd party hosting provider? They may have disabled these functions. You may need to check with them if they offer some form of configuration panel.

1 Like

yes we do. I have a configuration panel: DirectAdmin
what am I looking for to do?

I’m not familiar with direct admin. I’d say check if they have some forms of PHP configuration options. You should find a text input with a list of disabled functions.

ahhh proc_get_status is listed as diabled. I should enable it?

should I restet this setting after my upgrade is done?

Yes. It’s used by Symfony core packages, it’s safe to use in the passbolt context.
Exec is used also for the backups (--backup in migrate command) so either don’t use the option or enable it.

You guys are awesome! Thank you so much for your help!

[bcgsupport@s201 public_html]$ composer install --no-dev
Loading composer repositories with package information
Installing dependencies from lock file
Nothing to install or update
Generating optimized autoload files

Cake\Composer\Installer\PluginInstaller::postAutoloadDump
thadafinser/package-info: Generating class…
thadafinser/package-info: …generating class
App\Console\Installer::postInstall
Set Folder Permissions ? (Default to Y) [Y,n]? No Security.salt placeholder to replace.
[bcgsupport@s201 public_html]$ ./bin/cake passbolt migrate --backup

 ____                  __          ____  
/ __ \____  _____ ____/ /_  ____  / / /_ 

/ // / __ `/ / / __ / __ / / _/
/ / // ( |
) /
/ / /
/ / / /
/
/ _
,
/
//./_//__/

Open source password manager for teams

Saving backup file: /home/bcgsupport/domains/bcg.support/public_html/tmp/cache/database/backup_1587113709.sql
Success: the database was saved on file!

Running migration scripts.

using migration paths

  • /home/bcgsupport/domains/bcg.support/public_html/config/Migrations
    using seed paths
  • /home/bcgsupport/domains/bcg.support/public_html/config/Seeds
    using environment default
    using adapter mysql
    using database bcgsupport_passbolt

All Done. Took 0.6644s
Cleared default cache
Cleared cake_core cache
Cleared cake_model cache
[bcgsupport@s201 public_html]$

2 Likes

This topic was automatically closed 5 days after the last reply. New replies are no longer allowed.