"$pool must be of type string, array given" in Web->Php Pools client front end

Description

After fiddling with PHP opcache settings yesterday, I came back to the PHP Pools page today to see if my changes were still working well. I got an “Internal Server Error: No sentient programmers detected” error. After turning on debugging, I got the more detailed error below. In short: “Php_Module::pool_info(): Argument #1 ($pool) must be of type string, array given”.

Steps to Reproduce

  • Log in as user (e.g. from Nexus).
  • Click Web → PHP Pools.

Expected Behavior

Page showing PHP Pools and php_info should be displayed.

Actual Behavior

Internal Server Error.

Environment

ApisCP version: cpcmd misc:cp-version

revision: 96a8c5eaad584265eaf8d99dd5b1d9ad4863bd93
timestamp: 1760625243
ver_maj: 3
ver_min: 2
ver_patch: 48
ver_pre: 37-g96a8c5eaa
dirty: false
debug: true

Operating System: uname -r
4.18.0-553.46.1.el8_10.x86_64

Additional Information

Php_Module::pool_info(): Argument #1 ($pool) must be of type string, array given, called in /usr/local/apnscp/lib/Module/Skeleton/Standard.php on line 146 (View: /usr/local/apnscp/apps/php-pools/views/index.blade.php) (View: /usr/local/apnscp/resources/views/partials/app/content.blade.php) (View: /usr/local/apnscp/resources/views/partials/app/content.blade.php) (View: /usr/local/apnscp/resources/views/partials/app/content.blade.php)
string(1093) "#0 /usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(43): Illuminate\View\Engines\CompilerEngine->handleViewException(Object(Illuminate\View\ViewException), 1)
#1 /usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(57): Illuminate\View\Engines\PhpEngine->evaluatePath('/usr/local/apns...', Array)
#2 /usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php(139): Illuminate\View\Engines\CompilerEngine->get('/usr/local/apns...', Array)
#3 /usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php(122): Illuminate\View\View->getContents()
#4 /usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php(91): Illuminate\View\View->renderContents()
#5 /usr/local/apnscp/lib/BladeLite.php(212): Illuminate\View\View->render()
#6 /usr/local/apnscp/lib/html/page_container.php(805): BladeLite->render('layout', Array)
#7 /usr/local/apnscp/lib/html/page_container.php(1074): Page_Container->render()
#8 /usr/local/apnscp/public/index.php(100): Page_Container->handle_request()
#9 {main}"
array(0) {
}
(TypeError) EXCEPTION: Php_Module::pool_info(): Argument #1 ($pool) must be of type string, array given, called in /usr/local/apnscp/lib/Module/Skeleton/Standard.php on line 146 [/usr/local/apnscp/lib/modules/php.php:821]
         0. Php_Module->pool_info()
            [/usr/local/apnscp/lib/Module/Skeleton/Standard.php:146]
         1. Module\Skeleton\Standard->_invoke("pool_info", [])
            [/usr/local/apnscp/lib/apnscpfunction.php:991]
         2. apnscpFunctionInterceptor->call("php_pool_info", [])
            [/usr/local/apnscp/lib/apnscpFunctionInterceptorTrait.php:34]
         3. Page_Container->afiCall("php_pool_info", [])
            [/usr/local/apnscp/lib/html/page_container.php:646]
         4. Page_Container->__call("php_pool_info", [])
            [/usr/local/apnscp/apps/php-pools/php-pools.php:69]
         5. apps\php_pools\Page->activePool()
            [/usr/local/apnscp/storage/framework/cache/0374ca537ce42d7deba33e17120b2d7a685c6119.php:3]
         6. include("/usr/local/apnscp/storage/framework/cache/0374ca537ce42d7deba33e17120b2d7a685c6119.php")
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:41]
         7. Illuminate\View\Engines\PhpEngine->evaluatePath("/usr/local/apnscp/storage/framework/cache/0374ca537ce42d7deba33e17120b2d7a685c6119.php", [__env:Illuminate\View\Factory, app:Illuminate\Container\Container, [], Page:apps\php_pools\Page, [is_postback:false], []])
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:57]
         8. Illuminate\View\Engines\CompilerEngine->get("/usr/local/apnscp/apps/php-pools/views/index.blade.php", [__env:Illuminate\View\Factory, app:Illuminate\Container\Container, [], Page:apps\php_pools\Page, [is_postback:false], []])
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php:139]
         9. Illuminate\View\View->getContents()
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php:122]
        10. Illuminate\View\View->renderContents()
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php:91]
        11. Illuminate\View\View->render()
            [/usr/local/apnscp/storage/framework/cache/2b90923580ef5cbd6d70e0a49884bbc9b0a08d25.php:17]
        12. include("/usr/local/apnscp/storage/framework/cache/2b90923580ef5cbd6d70e0a49884bbc9b0a08d25.php")
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:41]
        13. Illuminate\View\Engines\PhpEngine->evaluatePath("/usr/local/apnscp/storage/framework/cache/2b90923580ef5cbd6d70e0a49884bbc9b0a08d25.php", [__env:Illuminate\View\Factory, app:Illuminate\Container\Container, [], obLevel:1, Page:apps\php_pools\Page, [is_postback:false], [[[used:12396412, total:31457280, ]]]])
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:57]
        14. Illuminate\View\Engines\CompilerEngine->get("/usr/local/apnscp/resources/views/partials/app/content.blade.php", [__env:Illuminate\View\Factory, app:Illuminate\Container\Container, [], obLevel:1, Page:apps\php_pools\Page, [is_postback:false], [[[used:12396412, total:31457280, ]]]])
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php:139]
        15. Illuminate\View\View->getContents()
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php:122]
        16. Illuminate\View\View->renderContents()
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php:91]
        17. Illuminate\View\View->render()
            [/usr/local/apnscp/storage/framework/cache/3de71d933921e91647ffce25a49560df2c6af0e3.php:12]
        18. include("/usr/local/apnscp/storage/framework/cache/3de71d933921e91647ffce25a49560df2c6af0e3.php")
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:41]
        19. Illuminate\View\Engines\PhpEngine->evaluatePath("/usr/local/apnscp/storage/framework/cache/3de71d933921e91647ffce25a49560df2c6af0e3.php", [__env:Illuminate\View\Factory, app:Illuminate\Container\Container, [], obLevel:1, Page:apps\php_pools\Page, [is_postback:false], [[[used:12396412, total:31457280, ]]]])
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:57]
        20. Illuminate\View\Engines\CompilerEngine->get("/usr/local/apnscp/resources/views/partials/app/content-wrapper.blade.php", [__env:Illuminate\View\Factory, app:Illuminate\Container\Container, [], obLevel:1, Page:apps\php_pools\Page, [is_postback:false], [[[used:12396412, total:31457280, ]]]])
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php:139]
        21. Illuminate\View\View->getContents()
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php:122]
        22. Illuminate\View\View->renderContents()
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php:91]
        23. Illuminate\View\View->render()
            [/usr/local/apnscp/storage/framework/cache/abbee3a8670a7ff514f44c04bde78dc24c73fd48.php:27]
        24. include("/usr/local/apnscp/storage/framework/cache/abbee3a8670a7ff514f44c04bde78dc24c73fd48.php")
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:41]
        25. Illuminate\View\Engines\PhpEngine->evaluatePath("/usr/local/apnscp/storage/framework/cache/abbee3a8670a7ff514f44c04bde78dc24c73fd48.php", [__env:Illuminate\View\Factory, app:Illuminate\Container\Container, [], Page:apps\php_pools\Page, [is_postback:false], []])
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:57]
        26. Illuminate\View\Engines\CompilerEngine->get("/usr/local/apnscp/resources/views/layout.blade.php", [__env:Illuminate\View\Factory, app:Illuminate\Container\Container, [], Page:apps\php_pools\Page, [is_postback:false], []])
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php:139]
        27. Illuminate\View\View->getContents()
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php:122]
        28. Illuminate\View\View->renderContents()
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php:91]
        29. Illuminate\View\View->render()
            [/usr/local/apnscp/lib/BladeLite.php:212]
        30. BladeLite->render("layout", [Page:apps\php_pools\Page, [is_postback:false], []])
            [/usr/local/apnscp/lib/html/page_container.php:805]
        31. Page_Container->render()
            [/usr/local/apnscp/lib/html/page_container.php:1074]
        32. Page_Container->handle_request()
            [/usr/local/apnscp/public/index.php:100]

This is resolved in e33dc728.

It’s not working for me either

 git status
On branch master
Your branch is up to date with 'origin/master'.
(34a038e8-ff90-52aa-94b7-617f7fa207a0 Illuminate\View\ViewException) EXCEPTION: Php_Module::pool_info(): Argument #1 ($pool) must be of type string, null given, called in /usr/local/apnscp/lib/Module/Skeleton/Standard.php on line 146 (View: /usr/local/apnscp/apps/php-pools/views/index.blade.php) (View: /usr/local/apnscp/resources/views/partials/app/content.blade.php) (View: /usr/local/apnscp/resources/views/partials/app/content.blade.php) (View: /usr/local/apnscp/resources/views/partials/app/content.blade.php) 
[/usr/local/apnscp/lib/modules/php.php:825]
         0. Illuminate\View\Engines\CompilerEngine->handleViewException(Illuminate\View\ViewException, 1)
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:43]
         1. Illuminate\View\Engines\PhpEngine->evaluatePath("/usr/local/apnscp/storage/framework/cache/abbee3a8670a7ff514f44c04bde78dc24c73fd48.php", [__env:Illuminate\View\Factory, app:Illuminate\Container\Container, [], Page:apps\php_pools\Page, [is_postback:false], []])
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:57]
         2. Illuminate\View\Engines\CompilerEngine->get("/usr/local/apnscp/resources/views/layout.blade.php", [__env:Illuminate\View\Factory, app:Illuminate\Container\Container, [], Page:apps\php_pools\Page, [is_postback:false], []])
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php:139]
         3. Illuminate\View\View->getContents()
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php:122]
         4. Illuminate\View\View->renderContents()
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php:91]
         5. Illuminate\View\View->render()
            [/usr/local/apnscp/lib/BladeLite.php:212]
         6. BladeLite->render("layout", [Page:apps\php_pools\Page, [is_postback:false], []])
            [/usr/local/apnscp/lib/html/page_container.php:805]
         7. Page_Container->render()
            [/usr/local/apnscp/lib/html/page_container.php:1074]
         8. Page_Container->handle_request()

Visiting php page gives internal error, turning off fortification gives internal error as well

Check now. php:pools reports no configured pools for the site, which is the origin of the error.

I’m afraid the error persists despite the 6c18a1852 fix.

[06-Jan-2026 16:26:10 Europe/Stockholm] (96495ff7-802e-559d-b012-0a031ff71924 Illuminate\View\ViewException) EXCEPTION: fatal(): Invalid worker name `' (View: /usr/local/apnscp/apps/php-pools/views/index.blade.php) (View: /usr/local/apnscp/resources/views/partials/app/content.blade.php) (View: /usr/local/apnscp/resources/views/partials/app/content.blade.php) (View: /usr/local/apnscp/resources/views/partials/app/content.blade.php) 
[/usr/local/apnscp/lib/error_reporter.php:707]
         0. Illuminate\View\Engines\CompilerEngine->handleViewException(Illuminate\View\ViewException, 1)
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:43]
         1. Illuminate\View\Engines\PhpEngine->evaluatePath("/usr/local/apnscp/storage/framework/cache/abbee3a8670a7ff514f44c04bde78dc24c73fd48.php", [__env:Illuminate\View\Factory, app:Illuminate\Container\Container, [], Page:apps\php_pools\Page, [is_postback:false], []])
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:57]
         2. Illuminate\View\Engines\CompilerEngine->get("/usr/local/apnscp/resources/views/layout.blade.php", [__env:Illuminate\View\Factory, app:Illuminate\Container\Container, [], Page:apps\php_pools\Page, [is_postback:false], []])
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php:139]
         3. Illuminate\View\View->getContents()
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php:122]
         4. Illuminate\View\View->renderContents()
            [/usr/local/apnscp/vendor/laravel/framework/src/Illuminate/View/View.php:91]
         5. Illuminate\View\View->render()
            [/usr/local/apnscp/lib/BladeLite.php:212]
         6. BladeLite->render("layout", [Page:apps\php_pools\Page, [is_postback:false], []])
            [/usr/local/apnscp/lib/html/page_container.php:805]
         7. Page_Container->render()
            [/usr/local/apnscp/lib/html/page_container.php:1074]
         8. Page_Container->handle_request()
            [/usr/local/apnscp/public/index.php:101]


What do the commands report:

  • cpcmd -d siteXX php:pools
  • ls -l /etc/systemd/system/php-fpm@siteXX-*
  • upcp

Sounds like you’re behind in migrations and the new pool pattern isn’t detected.

 cpcmd -d site28 php:pools
{  }
ls -l /etc/systemd/system/php-fpm@site28-*
ls: cannot access '/etc/systemd/system/php-fpm@site28-*': No such file or directory

Yeah * upcp keeps failing on some php errors. Disaster waiting to happen :frowning:
It’s a migration from 2025-07

That needs to be addressed. You can PM me the log or tackle directly otherwise sites refer to the old mask.

Thank you! It’s working now, as in it got past that migration but 100% something gonna break in a few min if not I will donate a beer

Yep all sites are down

Service Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
Socket unit configuration has changed while unit has been running, no open socket file descriptor left. The socket unit is not func

Worst part here is exact same thing happened on other server. 100% replicatable. upcp to major stable version = all websites go down because it nukes php-fpm.

Yes it was nuked before but after upcp it got worse.
I will see if I can editdomain reconfig all fix it

Do not flip back to major after being on edge for this update. Edge renames PHP-FPM from php-fpm-siteXX to php-fpm@siteXX so we can template PHP-FPM group templates.

cpcmd scope:set cp.update-policy edge-major
upcp
EditDomain --reconfig --all