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!
4 Replies
Dennis Koch
Dennis Koch2mo 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.PikongOP2mo ago
thank you @Dennis Koch , yes it is worked, but I have more than 50 resource my be any other solution ?
Dennis Koch
Dennis Koch2mo ago
The question is why the command is timing out when called via the upgrade script, but working when called directly.
Knud
Knud2w ago
Same problem for me right now. Did you find a solution in the mean time? I think phpactor is just really slow, because after the timeout error the operation finishes. But no idea why it's so slow for now. I also had a permissions problem when reverting first time, as the new files where created with root permissions instead of a normal user.

Did you find this page helpful?