-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Description
Describe the Bug
Trying to update my bookstack instance from v25.07.2 to v25.11.4, like I've done a dozen times, with instructions found here.
I'm running bookstack in a lxc container on proxmox based on Debian Trixie, newest Apache version and PHP 8.4 with fpm.
git pull origin releaseworks as expected.composer install --no-devtakes forever, which I have thought nothing of, since it's mentioned in the docs, that there are major database changes. This command finishes with an error:
The following exception is caused by a process timeout
Check https://getcomposer.org/doc/06-config.md#process-timeout for details
In Process.php line 1205:
[Symfony\Component\Process\Exception\ProcessTimedOutException]
The process "'/usr/bin/php8.4' -d allow_url_fopen='1' -d disable_functions='' -d memory_limit='-1' artisan package:discover --ansi" exceeded the timeout of 300 seconds.
As the error suggests ( https://getcomposer.org/doc/06-config.md#process-timeout ) I increased the timeout to 15 minutes. With the same outcome.
But the installation seems to continue. So I send php artisan migrate. This fails with SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: alter table page_revisionsmodifypage_id bigint unsigned not null)
More below.
Steps to Reproduce
- Goto install directory
git pull origin releasecomposer install --no-devphp artisan migrate
Expected Behaviour
Update goes through as usual.
Screenshots or Additional Context
This is the console output up until the error:
composer install --no-dev -v
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
> pre-install-cmd: @php -r "!file_exists('bootstrap/cache/services.php') || @unlink('bootstrap/cache/services.php');"
Installing dependencies from lock file
Verifying lock file contents can be installed on current platform.
Dependency resolution completed in 0.000 seconds
Package operations: 2 installs, 42 updates, 1 removal
Installs: symfony/polyfill-php85:v1.33.0, symfony/polyfill-php84:v1.33.0
Updates: dasprid/enum:1.0.7, bacon/bacon-qr-code:v3.0.3, dompdf/dompdf:v3.1.4, dragonmantank/cron-expression:v3.6.0, symfony/http-foundation:v7.3.7, symfony/process:v7.3.4, symfony/string:v7.3.4, symfony/service-contracts:v3.6.1, symfony/console:v7.3.6, laravel/prompts:v0.3.8, laravel/serializable-closure:v2.0.7, paragonie/constant_time_encoding:v3.1.3, phpseclib/phpseclib:3.0.47, symfony/css-selector:v7.3.6, symfony/var-dumper:v7.3.5, symfony/routing:v7.3.6, symfony/mime:v7.3.4, symfony/event-dispatcher:v7.3.3, symfony/mailer:v7.3.5, symfony/error-handler:v7.3.6, symfony/http-kernel:v7.3.7, symfony/finder:v7.3.5, brick/math:0.14.1, ramsey/uuid:4.9.1, nunomaduro/termwind:v2.3.3, symfony/translation-contracts:v3.6.1, symfony/translation:v7.3.4, nesbot/carbon:3.10.3, league/uri-interfaces:7.6.0, league/uri:7.6.0, league/flysystem-local:3.30.2, league/flysystem:3.30.2, nette/utils:v4.0.9, nette/schema:v1.3.3, laravel/framework:v12.40.1, laravel/socialite:v5.23.2, nikic/php-parser:v5.6.2, psy/psysh:v0.12.14, laravel/tinker:v2.10.2, aws/aws-sdk-php:3.363.2, league/flysystem-aws-s3-v3:3.30.1, predis/predis:v3.3.0
Removals: webmozart/assert
- Downloading dasprid/enum (1.0.7)
- Downloading bacon/bacon-qr-code (v3.0.3)
- Downloading dompdf/dompdf (v3.1.4)
- Downloading dragonmantank/cron-expression (v3.6.0)
- Syncing symfony/http-foundation (v7.3.7) into cache
- Downloading symfony/process (v7.3.4)
- Downloading symfony/string (v7.3.4)
- Downloading symfony/service-contracts (v3.6.1)
- Downloading symfony/console (v7.3.6)
- Downloading laravel/prompts (v0.3.8)
- Downloading laravel/serializable-closure (v2.0.7)
- Downloading paragonie/constant_time_encoding (v3.1.3)
- Downloading phpseclib/phpseclib (3.0.47)
- Downloading symfony/css-selector (v7.3.6)
- Downloading symfony/var-dumper (v7.3.5)
- Downloading symfony/routing (v7.3.6)
- Downloading symfony/polyfill-php85 (v1.33.0)
- Downloading symfony/polyfill-php84 (v1.33.0)
- Downloading symfony/mime (v7.3.4)
- Downloading symfony/event-dispatcher (v7.3.3)
- Downloading symfony/mailer (v7.3.5)
- Downloading symfony/error-handler (v7.3.6)
- Downloading symfony/http-kernel (v7.3.7)
- Downloading symfony/finder (v7.3.5)
- Downloading brick/math (0.14.1)
- Downloading ramsey/uuid (4.9.1)
- Downloading nunomaduro/termwind (v2.3.3)
- Downloading symfony/translation-contracts (v3.6.1)
- Downloading symfony/translation (v7.3.4)
- Downloading nesbot/carbon (3.10.3)
- Downloading league/uri-interfaces (7.6.0)
- Downloading league/uri (7.6.0)
- Downloading league/flysystem-local (3.30.2)
- Downloading league/flysystem (3.30.2)
- Downloading nette/utils (v4.0.9)
- Downloading nette/schema (v1.3.3)
- Downloading laravel/framework (v12.40.1)
- Downloading laravel/socialite (v5.23.2)
- Downloading nikic/php-parser (v5.6.2)
- Downloading psy/psysh (v0.12.14)
- Downloading laravel/tinker (v2.10.2)
- Downloading aws/aws-sdk-php (3.363.2)
- Downloading league/flysystem-aws-s3-v3 (3.30.1)
- Downloading predis/predis (v3.3.0)
- Removing webmozart/assert (1.11.0)
- Upgrading dasprid/enum (1.0.6 => 1.0.7): Extracting archive
- Upgrading bacon/bacon-qr-code (v3.0.1 => v3.0.3): Extracting archive
- Upgrading dompdf/dompdf (v3.1.0 => v3.1.4): Extracting archive
- Upgrading dragonmantank/cron-expression (v3.4.0 => v3.6.0): Extracting archive
- Upgrading symfony/http-foundation (v7.3.2 => v7.3.7): Checking out db488a62f98f7a81d5746f05eea63a74e55bb7c4 from cache
Pulling in changes:
db488a62 - Nicolas Grekas: Merge branch '6.4' into 7.3
b03d11e0 - Nicolas Grekas: Merge branch '5.4' into 6.4
6379e490 - Nicolas Grekas: Merge branch '6.4' into 7.3
1ba1d5fe - Nicolas Grekas: [HttpFoundation] Fix parsing hosts and schemes in URLs
1a0706e8 - Nicolas Grekas: [HttpFoundation] Fix parsing pathinfo with no leading slash
c8ab9b62 - Nicolas Grekas: Merge branch '6.4' into 7.3
ee930094 - Dave Long: [HttpFoundation] Allow Request::setFormat() to override predefined formats
ce31218c - Santiago San Martin: [HttpFoundation] Fix issue where ServerEvent with "0" data is not sent
c061c7c1 - Nicolas Grekas: Merge branch '6.4' into 7.3
36924159 - Nicolas Grekas: Fix ord()-related PHP 8.5 deprecations
79ec7c41 - Christian Flothmann: Merge branch '6.4' into 7.3
67729f83 - Christian Flothmann: use the empty string instead of null as an array offset
271459da - Nicolas Grekas: Merge branch '6.4' into 7.3
e8688810 - Matt Emerson: SQLSRV: Change column type from TEXT to STRING
7475561e - Nicolas Grekas: Merge branch '6.4' into 7.3
6bc974c0 - Christian Flothmann: fix session cookie options assertions on PHP 8.5
- Upgrading symfony/process (v7.3.0 => v7.3.4): Extracting archive
- Upgrading symfony/string (v7.3.2 => v7.3.4): Extracting archive
- Upgrading symfony/service-contracts (v3.6.0 => v3.6.1): Extracting archive
- Upgrading symfony/console (v7.3.2 => v7.3.6): Extracting archive
- Upgrading laravel/prompts (v0.3.6 => v0.3.8): Extracting archive
- Upgrading laravel/serializable-closure (v2.0.4 => v2.0.7): Extracting archive
- Upgrading paragonie/constant_time_encoding (v3.0.0 => v3.1.3): Extracting archive
- Upgrading phpseclib/phpseclib (3.0.46 => 3.0.47): Extracting archive
- Upgrading symfony/css-selector (v7.3.0 => v7.3.6): Extracting archive
- Upgrading symfony/var-dumper (v7.3.2 => v7.3.5): Extracting archive
- Upgrading symfony/routing (v7.3.2 => v7.3.6): Extracting archive
- Installing symfony/polyfill-php85 (v1.33.0): Extracting archive
- Installing symfony/polyfill-php84 (v1.33.0): Extracting archive
- Upgrading symfony/mime (v7.3.2 => v7.3.4): Extracting archive
- Upgrading symfony/event-dispatcher (v7.3.0 => v7.3.3): Extracting archive
- Upgrading symfony/mailer (v7.3.2 => v7.3.5): Extracting archive
- Upgrading symfony/error-handler (v7.3.2 => v7.3.6): Extracting archive
- Upgrading symfony/http-kernel (v7.3.2 => v7.3.7): Extracting archive
- Upgrading symfony/finder (v7.3.2 => v7.3.5): Extracting archive
- Upgrading brick/math (0.12.3 => 0.14.1): Extracting archive
- Upgrading ramsey/uuid (4.9.0 => 4.9.1): Extracting archive
- Upgrading nunomaduro/termwind (v2.3.1 => v2.3.3): Extracting archive
- Upgrading symfony/translation-contracts (v3.6.0 => v3.6.1): Extracting archive
- Upgrading symfony/translation (v7.3.2 => v7.3.4): Extracting archive
- Upgrading nesbot/carbon (3.10.2 => 3.10.3): Extracting archive
- Upgrading league/uri-interfaces (7.5.0 => 7.6.0): Extracting archive
- Upgrading league/uri (7.5.1 => 7.6.0): Extracting archive
- Upgrading league/flysystem-local (3.30.0 => 3.30.2): Extracting archive
- Upgrading league/flysystem (3.30.0 => 3.30.2): Extracting archive
- Upgrading nette/utils (v4.0.8 => v4.0.9): Extracting archive
- Upgrading nette/schema (v1.3.2 => v1.3.3): Extracting archive
- Upgrading laravel/framework (v11.45.2 => v12.40.1): Extracting archive
- Upgrading laravel/socialite (v5.23.0 => v5.23.2): Extracting archive
- Upgrading nikic/php-parser (v5.6.1 => v5.6.2): Extracting archive
- Upgrading psy/psysh (v0.12.10 => v0.12.14): Extracting archive
- Upgrading laravel/tinker (v2.10.1 => v2.10.2): Extracting archive
- Upgrading aws/aws-sdk-php (3.356.6 => 3.363.2): Extracting archive
- Upgrading league/flysystem-aws-s3-v3 (3.29.0 => 3.30.1): Extracting archive
- Upgrading predis/predis (v2.4.0 => v3.3.0): Extracting archive
Generating optimized autoload files
> post-autoload-dump: Illuminate\Foundation\ComposerScripts::postAutoloadDump
> post-autoload-dump: @php artisan package:discover --ansi
The following exception is caused by a process timeout
Check https://getcomposer.org/doc/06-config.md#process-timeout for details
In Process.php line 1205:
[Symfony\Component\Process\Exception\ProcessTimedOutException]
The process "'/usr/bin/php8.4' -d allow_url_fopen='1' -d disable_functions='' -d memory_limit='-1' artisan package:discover --ansi" exceeded the timeout of 300 seconds.
Exception trace:
at phar:///usr/local/bin/composer/vendor/symfony/process/Process.php:1205
Symfony\Component\Process\Process->checkTimeout() at phar:///usr/local/bin/composer/vendor/symfony/process/Process.php:437
Symfony\Component\Process\Process->wait() at phar:///usr/local/bin/composer/vendor/symfony/process/Process.php:255
Symfony\Component\Process\Process->run() at phar:///usr/local/bin/composer/src/Composer/Util/ProcessExecutor.php:167
Composer\Util\ProcessExecutor->runProcess() at phar:///usr/local/bin/composer/src/Composer/Util/ProcessExecutor.php:212
Composer\Util\ProcessExecutor->doExecute() at phar:///usr/local/bin/composer/src/Composer/Util/ProcessExecutor.php:111
Composer\Util\ProcessExecutor->executeTty() at phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:464
Composer\EventDispatcher\EventDispatcher->executeTty() at phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:421
Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///usr/local/bin/composer/src/Composer/EventDispatcher/EventDispatcher.php:139
Composer\EventDispatcher\EventDispatcher->dispatchScript() at phar:///usr/local/bin/composer/src/Composer/Autoload/AutoloadGenerator.php:473
Composer\Autoload\AutoloadGenerator->dump() at phar:///usr/local/bin/composer/src/Composer/Installer.php:362
Composer\Installer->run() at phar:///usr/local/bin/composer/src/Composer/Command/InstallCommand.php:147
Composer\Command\InstallCommand->execute() at phar:///usr/local/bin/composer/vendor/symfony/console/Command/Command.php:298
Symfony\Component\Console\Command\Command->run() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:1040
Symfony\Component\Console\Application->doRunCommand() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:301
Symfony\Component\Console\Application->doRun() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:397
Composer\Console\Application->doRun() at phar:///usr/local/bin/composer/vendor/symfony/console/Application.php:171
Symfony\Component\Console\Application->run() at phar:///usr/local/bin/composer/src/Composer/Console/Application.php:137
Composer\Console\Application->run() at phar:///usr/local/bin/composer/bin/composer:98
require() at /usr/local/bin/composer:29
install [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--dry-run] [--download-only] [--dev] [--no-suggest] [--no-dev] [--no-autoloader] [--no-progress] [--no-install] [--audit] [--audit-format AUDIT-FORMAT] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--] [<packages>...]
php artisan migrate
APPLICATION IN PRODUCTION.
┌ Are you sure you want to run this command? ──────────────────┐
│ Yes │
└──────────────────────────────────────────────────────────────┘
INFO Running migrations.
2025_09_02_111542_remove_unused_columns ............................................................................................ 131.88ms DONE
2025_09_15_132850_create_entities_table ............................................................................................ 355.63ms DONE
2025_09_15_134701_migrate_entity_data .............................................................................................. 851.67ms DONE
2025_09_15_134751_update_entity_relation_columns ..................................................................................... 1m 39s FAIL
In Connection.php line 824:
SQLSTATE[HY000] [2002] Connection refused (Connection: mysql, SQL: alter table `page_revisions` modify `page_id` bigint unsigned not null)
In Connector.php line 67:
SQLSTATE[HY000] [2002] Connection refused
Browser Details
Probably not relevant: Version 142.0.7444.176 (Official Build) (64-Bit) on Windows 10
Exact BookStack Version
v25.07.2