Filament v4 upgrade command fails: Phpactor class:move exceeded timeout of 60 seconds

Hello, I’m trying to upgrade my Filament project from v3 to v4 using the provided Artisan command:
php artisan filament:upgrade-directory-structure-to-v4
php artisan filament:upgrade-directory-structure-to-v4
The process starts normally, downloads phpactor, and begins migrating resources. However, it fails with the following error:
ERROR Exception occurred while moving class: The process
"php vendor/bin/phpactor.phar class:move
app/Filament/Resources/AgentBalanceResource/Pages/ListAgentBalances.php
app/Filament/Resources/AgentBalances/Pages/ListAgentBalances.php"
exceeded the timeout of 60 seconds.
ERROR Exception occurred while moving class: The process
"php vendor/bin/phpactor.phar class:move
app/Filament/Resources/AgentBalanceResource/Pages/ListAgentBalances.php
app/Filament/Resources/AgentBalances/Pages/ListAgentBalances.php"
exceeded the timeout of 60 seconds.
I already tried increasing max_execution_time and other PHP settings in php.ini, but this error seems to be related to Symfony’s Process timeout inside Phpactor rather than PHP itself. My questions are: 1. How can I increase Phpactor’s timeout so that the filament:upgrade-directory-structure-to-v4 command can finish? 2. Is there a way to configure Phpactor (e.g., with phpactor.yml) or pass a --timeout option to avoid this issue? 3. Has anyone else experienced this problem when running the upgrade command in a Docker environment (Laravel Sail)? Environment: * Laravel Sail (Docker) * Filament v3 → upgrading to v4 * Phpactor downloaded automatically during the upgrade Any advice would be appreciated!
3 Replies
Dennis Koch
Dennis Koch7d ago
When moving a single class takes more than 60s, probably the timeout is not the issue. What happens if you just run that subcommand php vendor/bin/phpactor.phar class:move app/Filament/Resources/AgentBalanceResource/Pages/ListAgentBalances.php app/Filament/Resources/AgentBalances/Pages/ListAgentBalances.php
Jr.Pikong
Jr.PikongOP3d ago
thank you @Dennis Koch , yes it is worked, but I have more than 50 resource my be any other solution ?
Dennis Koch
Dennis Koch3d ago
The question is why the command is timing out when called via the upgrade script, but working when called directly.

Did you find this page helpful?