I’m having issues migrating from self hosted 4.5.50 to 5.5.24.
I performed the installation of both of them using Softaculous on a WHM/cPanel server. For the v5 installation I have MultiPHP set to PHP 8.1 for the domain with all required PHP extensions installed.
I get to the very last step and the migration seems to hang for a few seconds and then I receive the message: Server error: POST https://companyname.com/inv/public/api/v1/migration/start
resulted in a 500 Internal Server Error
response: { “message”: “Server Error” }
There’s nothing interesting in the web server logs.
The company gets created in v5 and some of the data is there, but it’s far from complete.
Here are some other potentially relevant details:
I am using API_SECRET in .env and I have made sure the keys are in both the old and new .env and entered the key into the box provided during the migration.
Cron job is as follows: * * * * * cd /home/companyname/public_html/inv && /opt/cpanel/ea-php81/root/usr/bin/php -d register_argc_argv=On artisan schedule:run >> /dev/null 2>&1
Here is my laravel.log file from the v5 installation and you can see where it starts to go wrong near the top with the call to undefined function:
[2022-10-04 16:46:33] production.INFO: Importing account
[2022-10-04 16:46:33] production.INFO: Importing company
[2022-10-04 16:46:33] production.INFO: Importing users
[2022-10-04 16:46:33] production.INFO: Importing payment_terms
[2022-10-04 16:46:33] production.INFO: Importing tax_rates
[2022-10-04 16:46:33] production.INFO: Importing clients
[2022-10-04 16:46:38] production.INFO: Importing company_gateways
[2022-10-04 16:46:38] production.INFO: Importing client_gateway_tokens
[2022-10-04 16:46:38] production.INFO: Importing vendors
[2022-10-04 16:46:42] production.INFO: Importing projects
[2022-10-04 16:46:42] production.INFO: Importing products
[2022-10-04 16:46:43] production.INFO: Importing credits
[2022-10-04 16:46:43] production.INFO: Call to undefined function App\Models\iconv_strlen()
[2022-10-04 16:46:43] production.ERROR: Call to undefined function App\Models\iconv_strlen() {“userId”:1,“exception”:"[object] (Error(code: 0): Call to undefined function App\Models\iconv_strlen() at /home/companyname/public_html/inv/app/Models/Client.php:374)
[stacktrace]
#0 /home/companyname/public_html/inv/app/Models/Client.php(313): App\Models\Client->getSetting(‘currency_id’)
#1 [internal function]: App\Models\Client->App\Models\{closure}(Object(App\Models\Currency), 0)
#2 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Collections/Arr.php(795): array_filter(Array, Object(Closure), 1)
#3 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(368): Illuminate\Support\Arr::where(Array, Object(Closure))
#4 /home/companyname/public_html/inv/app/Models/Client.php(314): Illuminate\Support\Collection->filter(Object(Closure))
#5 /home/companyname/public_html/inv/app/Helpers/Invoice/InvoiceSum.php(59): App\Models\Client->currency()
#6 /home/companyname/public_html/inv/app/Models/Credit.php(226): App\Helpers\Invoice\InvoiceSum->__construct(Object(App\Models\Credit))
#7 /home/companyname/public_html/inv/app/Repositories/BaseRepository.php(286): App\Models\Credit->calc()
#8 /home/companyname/public_html/inv/app/Repositories/CreditRepository.php(39): App\Repositories\BaseRepository->alternativeSave(Array, Object(App\Models\Credit))
#9 /home/companyname/public_html/inv/app/Jobs/Util/Import.php(1095): App\Repositories\CreditRepository->save(Array, Object(App\Models\Credit))
#10 /home/companyname/public_html/inv/app/Jobs/Util/Import.php(226): App\Jobs\Util\Import->processCredits(Array)
#11 /home/companyname/public_html/inv/app/Jobs/Util/StartMigration.php(119): App\Jobs\Util\Import->handle()
#12 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Jobs\Util\StartMigration->handle()
#13 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#14 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\Container\Util::unwrapIfClosure(Object(Closure))
#15 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(37): Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Array, Object(Closure))
#16 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Container/Container.php(651): Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), Array, Array, NULL)
#17 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(128): Illuminate\Container\Container->call(Array)
#18 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}(Object(App\Jobs\Util\StartMigration))
#19 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(App\Jobs\Util\StartMigration))
#20 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(132): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#21 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(124): Illuminate\Bus\Dispatcher->dispatchNow(Object(App\Jobs\Util\StartMigration), false)
#22 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\Queue\CallQueuedHandler->Illuminate\Queue\{closure}(Object(App\Jobs\Util\StartMigration))
#23 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(App\Jobs\Util\StartMigration))
#24 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(126): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#25 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(70): Illuminate\Queue\CallQueuedHandler->dispatchThroughMiddleware(Object(Illuminate\Queue\Jobs\SyncJob), Object(App\Jobs\Util\StartMigration))
#26 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(98): Illuminate\Queue\CallQueuedHandler->call(Object(Illuminate\Queue\Jobs\SyncJob), Array)
#27 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Queue/SyncQueue.php(43): Illuminate\Queue\Jobs\Job->fire()
#28 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(253): Illuminate\Queue\SyncQueue->push(Object(App\Jobs\Util\StartMigration))
#29 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(229): Illuminate\Bus\Dispatcher->pushCommandToQueue(Object(Illuminate\Queue\SyncQueue), Object(App\Jobs\Util\StartMigration))
#30 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(77): Illuminate\Bus\Dispatcher->dispatchToQueue(Object(App\Jobs\Util\StartMigration))
#31 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Foundation/Bus/PendingDispatch.php(193): Illuminate\Bus\Dispatcher->dispatch(Object(App\Jobs\Util\StartMigration))
#32 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Foundation/Bus/Dispatchable.php(18): Illuminate\Foundation\Bus\PendingDispatch->__destruct()
#33 /home/companyname/public_html/inv/app/Http/Controllers/MigrationController.php(435): App\Jobs\Util\StartMigration::dispatch(‘migrations/HWYS…’, Object(App\Models\User), Object(App\Models\Company))
#34 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\Http\Controllers\MigrationController->startMigration(Object(Illuminate\Http\Request))
#35 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\Routing\Controller->callAction(‘startMigration’, Array)
#36 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Routing/Route.php(261): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(App\Http\Controllers\MigrationController), ‘startMigration’)
#37 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Routing/Route.php(204): Illuminate\Routing\Route->runController()
#38 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Routing/Router.php(725): Illuminate\Routing\Route->run()
#39 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#40 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(126): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#41 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(62): Illuminate\Routing\Middleware\ThrottleRequests->handleRequest(Object(Illuminate\Http\Request), Object(Closure), Array)
#42 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Routing\Middleware\ThrottleRequests->handle(Object(Illuminate\Http\Request), Object(Closure), ‘300’, ‘1’)
#43 /home/companyname/public_html/inv/app/Http/Middleware/QueryLogging.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#44 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\Http\Middleware\QueryLogging->handle(Object(Illuminate\Http\Request), Object(Closure))
#45 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#46 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))
#47 /home/companyname/public_html/inv/app/Http/Middleware/Locale.php(46): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#48 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\Http\Middleware\Locale->handle(Object(Illuminate\Http\Request), Object(Closure))
#49 /home/companyname/public_html/inv/app/Http/Middleware/TokenAuth.php(96): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#50 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\Http\Middleware\TokenAuth->handle(Object(Illuminate\Http\Request), Object(Closure))
#51 /home/companyname/public_html/inv/app/Http/Middleware/SetDb.php(40): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#52 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\Http\Middleware\SetDb->handle(Object(Illuminate\Http\Request), Object(Closure))
#53 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#54 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Routing/Router.php(726): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#55 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Routing/Router.php(703): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#56 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Routing/Router.php(667): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))
#57 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Routing/Router.php(656): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#58 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(167): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#59 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#60 /home/companyname/public_html/inv/vendor/sentry/sentry-laravel/src/Sentry/Laravel/Http/SetRequestIpMiddleware.php(45): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#61 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Sentry\Laravel\Http\SetRequestIpMiddleware->handle(Object(Illuminate\Http\Request), Object(Closure))
#62 /home/companyname/public_html/inv/vendor/sentry/sentry-laravel/src/Sentry/Laravel/Http/SetRequestMiddleware.php(42): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#63 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Sentry\Laravel\Http\SetRequestMiddleware->handle(Object(Illuminate\Http\Request), Object(Closure))
#64 /home/companyname/public_html/inv/vendor/livewire/livewire/src/DisableBrowserCache.php(19): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#65 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Livewire\DisableBrowserCache->handle(Object(Illuminate\Http\Request), Object(Closure))
#66 /home/companyname/public_html/inv/app/Http/Middleware/Cors.php(25): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#67 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\Http\Middleware\Cors->handle(Object(Illuminate\Http\Request), Object(Closure))
#68 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#69 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Http\Middleware\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))
#70 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#71 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#72 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle(Object(Illuminate\Http\Request), Object(Closure))
#73 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#74 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#75 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\TrimStrings->handle(Object(Illuminate\Http\Request), Object(Closure))
#76 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#77 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))
#78 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#79 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle(Object(Illuminate\Http\Request), Object(Closure))
#80 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#81 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(142): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#82 /home/companyname/public_html/inv/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(111): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#83 /home/companyname/public_html/inv/public/index.php(57): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#84 {main}
"}
Any help is greatly appreciated.