It seems no matter what I do, enabling the FoF/Upload extension borks my whole flarum install untill I disable it. Also, the recaptcha extension doesn't seem to work right either, but that could be a config issue.

I'm happy to step through a fresh install (which I've done three times) and provide any info needed along the way in order to track down what's up with my system, I'll just need to know what I'm looking for.

  • IanM replied to this.

    mrnaterpg in the first instance, could you please share the output of php flarum info?

    Happy to help get you up and running 🙂

    Flarum core: 1.8.4
    PHP version: 8.1.26
    MySQL version: 10.3.38-MariaDB-0ubuntu0.20.04.1-log
    Loaded extensions: Core, date, libxml, openssl, pcre, zlib, filter, hash, json, pcntl, Reflection, SPL, session, standard, sodium, mysqlnd, PDO, xml, apcu, bcmath, bz2, calendar, ctype, curl, dom, mbstring, FFI, fileinfo, ftp, gd, gettext, gmp, iconv, igbinary, imagick, imap, intl, ldap, exif, msgpack, mysqli, pdo_mysql, Phar, posix, readline, redis, shmop, SimpleXML, soap, sockets, sysvmsg, sysvsem, sysvshm, tokenizer, xmlreader, xmlrpc, xmlwriter, xsl, zip, memcached, Zend OPcache
    +----------------------+---------+--------+
    | Flarum Extensions | | |
    +----------------------+---------+--------+
    | ID | Version | Commit |
    +----------------------+---------+--------+
    | flarum-flags | v1.8.0 | |
    | flarum-approval | v1.8.1 | |
    | flarum-tags | v1.8.0 | |
    | flarum-suspend | v1.8.1 | |
    | flarum-subscriptions | v1.8.0 | |
    | flarum-sticky | v1.8.0 | |
    | flarum-statistics | v1.8.0 | |
    | flarum-mentions | v1.8.2 | |
    | flarum-markdown | v1.8.0 | |
    | flarum-lock | v1.8.0 | |
    | flarum-likes | v1.8.0 | |
    | flarum-lang-english | v1.8.0 | |
    | flarum-emoji | v1.8.0 | |
    | flarum-bbcode | v1.8.0 | |
    +----------------------+---------+--------+
    Base URL: REDACTED
    Installation path: /var/www/html/REDACTED
    Queue driver: sync
    Session driver: file
    Mail driver: smtp
    Debug mode: off

    The only other relevant detail that I've redacted is that the forum exists on a subdomain.

    • IanM replied to this.

      mrnaterpg thanks!

      First observation, 10.3.38-MariaDB is now over 5 years old and no longer supported. Although I don't believe this to be the cause of your issues, I do strongly suggest to upgrade to 10.11 (LTS)

      A subdomain installation shouldn't have an impact, but it does cause an issue from time to time when extensions don't generate their base URL's correctly for example.

      What I would suggest as a next step is to enable debug, and try to enable the extension again. This should give us output either in the console, Flarum UI, or in the logs (/storage/logs). If you can share that, I'll have a much better idea what is going on..

      Okay...I enabled debug and tried to enable fof upload. Here is the debug log..

      [2023-12-18 16:04:16] flarum.ERROR: Error: Class "FoF\Upload\Extend\SvgSanitizer" not found in /var/www/html/dcs_flarum/vendor/fof/upload/extend.php:112
      Stack trace:
      #0 /var/www/html/dcs_flarum/vendor/flarum/core/src/Extension/Extension.php(373): require()
      #1 /var/www/html/dcs_flarum/vendor/flarum/core/src/Extension/Extension.php(388): Flarum\Extension\Extension->getExtenders()
      #2 /var/www/html/dcs_flarum/vendor/flarum/core/src/Extension/Extension.php(303): Flarum\Extension\Extension->getLifecycleExtenders()
      #3 /var/www/html/dcs_flarum/vendor/flarum/core/src/Extension/ExtensionManager.php(216): Flarum\Extension\Extension->enable()
      #4 /var/www/html/dcs_flarum/vendor/flarum/core/src/Extension/Command/ToggleExtensionHandler.php(36): Flarum\Extension\ExtensionManager->enable()
      #5 /var/www/html/dcs_flarum/vendor/illuminate/bus/Dispatcher.php(122): Flarum\Extension\Command\ToggleExtensionHandler->handle()
      #6 /var/www/html/dcs_flarum/vendor/illuminate/pipeline/Pipeline.php(128): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}()
      #7 /var/www/html/dcs_flarum/vendor/illuminate/pipeline/Pipeline.php(103): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
      #8 /var/www/html/dcs_flarum/vendor/illuminate/bus/Dispatcher.php(132): Illuminate\Pipeline\Pipeline->then()
      #9 /var/www/html/dcs_flarum/vendor/illuminate/bus/Dispatcher.php(78): Illuminate\Bus\Dispatcher->dispatchNow()
      #10 /var/www/html/dcs_flarum/vendor/flarum/core/src/Api/Controller/UpdateExtensionController.php(43): Illuminate\Bus\Dispatcher->dispatch()
      #11 /var/www/html/dcs_flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(41): Flarum\Api\Controller\UpdateExtensionController->handle()
      #12 /var/www/html/dcs_flarum/vendor/flarum/core/src/Http/Middleware/ExecuteRoute.php(27): Flarum\Http\RouteHandlerFactory->Flarum\Http\{closure}()
      #13 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\ExecuteRoute->process()
      #14 /var/www/html/dcs_flarum/vendor/flarum/core/src/Api/Middleware/ThrottleApi.php(33): Laminas\Stratigility\Next->handle()
      #15 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Api\Middleware\ThrottleApi->process()
      #16 /var/www/html/dcs_flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(44): Laminas\Stratigility\Next->handle()
      #17 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\CheckCsrfToken->process()
      #18 /var/www/html/dcs_flarum/vendor/flarum/core/src/Http/Middleware/ResolveRoute.php(69): Laminas\Stratigility\Next->handle()
      #19 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\ResolveRoute->process()
      #20 /var/www/html/dcs_flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(51): Laminas\Stratigility\Next->handle()
      #21 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\SetLocale->process()
      #22 /var/www/html/dcs_flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(58): Laminas\Stratigility\Next->handle()
      #23 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\AuthenticateWithHeader->process()
      #24 /var/www/html/dcs_flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(31): Laminas\Stratigility\Next->handle()
      #25 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\AuthenticateWithSession->process()
      #26 /var/www/html/dcs_flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(52): Laminas\Stratigility\Next->handle()
      #27 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\RememberFromCookie->process()
      #28 /var/www/html/dcs_flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\Stratigility\Next->handle()
      #29 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\StartSession->process()
      #30 /var/www/html/dcs_flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\Stratigility\Next->handle()
      #31 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Api\Middleware\FakeHttpMethods->process()
      #32 /var/www/html/dcs_flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\Stratigility\Next->handle()
      #33 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\ParseJsonBody->process()
      #34 /var/www/html/dcs_flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\Stratigility\Next->handle()
      #35 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\HandleErrors->process()
      #36 /var/www/html/dcs_flarum/vendor/flarum/core/src/Http/Middleware/InjectActorReference.php(25): Laminas\Stratigility\Next->handle()
      #37 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\InjectActorReference->process()
      #38 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(75): Laminas\Stratigility\Next->handle()
      #39 /var/www/html/dcs_flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\Stratigility\MiddlewarePipe->process()
      #40 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Middlewares\RequestHandler->process()
      #41 /var/www/html/dcs_flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(101): Laminas\Stratigility\Next->handle()
      #42 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Middlewares\BasePathRouter->process()
      #43 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(36): Laminas\Stratigility\Next->handle()
      #44 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Laminas\Stratigility\Middleware\OriginalMessages->process()
      #45 /var/www/html/dcs_flarum/vendor/middlewares/base-path/src/BasePath.php(73): Laminas\Stratigility\Next->handle()
      #46 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Middlewares\BasePath->process()
      #47 /var/www/html/dcs_flarum/vendor/flarum/core/src/Http/Middleware/ProcessIp.php(24): Laminas\Stratigility\Next->handle()
      #48 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\ProcessIp->process()
      #49 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(75): Laminas\Stratigility\Next->handle()
      #50 /var/www/html/dcs_flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(64): Laminas\Stratigility\MiddlewarePipe->process()
      #51 /var/www/html/dcs_flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(73): Laminas\Stratigility\MiddlewarePipe->handle()
      #52 /var/www/html/dcs_flarum/vendor/flarum/core/src/Http/Server.php(45): Laminas\HttpHandlerRunner\RequestHandlerRunner->run()
      #53 /var/www/html/dcs_flarum/public/index.php(26): Flarum\Http\Server->listen()
      #54 {main}
      [2023-12-18 16:04:25] flarum.ERROR: Error: Class "FoF\Upload\Extend\SvgSanitizer" not found in /var/www/html/dcs_flarum/vendor/fof/upload/extend.php:112
      Stack trace:
      #0 /var/www/html/dcs_flarum/vendor/flarum/core/src/Extension/Extension.php(373): require()
      #1 /var/www/html/dcs_flarum/vendor/flarum/core/src/Extension/Extension.php(139): Flarum\Extension\Extension->getExtenders()
      #2 /var/www/html/dcs_flarum/vendor/flarum/core/src/Extension/ExtensionManager.php(390): Flarum\Extension\Extension->extend()
      #3 /var/www/html/dcs_flarum/vendor/flarum/core/src/Extension/ExtensionServiceProvider.php(31): Flarum\Extension\ExtensionManager->extend()
      #4 [internal function]: Flarum\Extension\ExtensionServiceProvider->Flarum\Extension\{closure}()
      #5 /var/www/html/dcs_flarum/vendor/flarum/core/src/Foundation/Application.php(329): call_user_func()
      #6 /var/www/html/dcs_flarum/vendor/flarum/core/src/Foundation/Application.php(270): Flarum\Foundation\Application->fireAppCallbacks()
      #7 /var/www/html/dcs_flarum/vendor/flarum/core/src/Foundation/InstalledSite.php(151): Flarum\Foundation\Application->boot()
      #8 /var/www/html/dcs_flarum/vendor/flarum/core/src/Foundation/InstalledSite.php(82): Flarum\Foundation\InstalledSite->bootLaravel()
      #9 /var/www/html/dcs_flarum/vendor/flarum/core/src/Http/Server.php(59): Flarum\Foundation\InstalledSite->bootApp()
      #10 /var/www/html/dcs_flarum/vendor/flarum/core/src/Http/Server.php(36): Flarum\Http\Server->safelyBootAndGetHandler()
      #11 /var/www/html/dcs_flarum/public/index.php(26): Flarum\Http\Server->listen()
      #12 {main}

        mrnaterpg I've seen someone else also report this recently. Having just peeked at the code, it appears to be all good there. Let me investigate a little closer...

        mrnaterpg Could you do me a favour please and try this? :

        (Please do these commands in order)

        composer remove fof/upload
        php flarum migrate
        php flarum cache:clear
        composer require fof/upload
        php flarum migrate
        php flarum cache:clear
        php flarum extension:enable fof-upload

          katos Here is the result when reloading the page after doing each command in that order:
          'Flarum encountered a boot error (Error)
          Class "FoF\Upload\Extend\SvgSanitizer" not found
          thrown in /var/www/html/dcs_flarum/vendor/fof/upload/extend.php on line 112
          Error: Class "FoF\Upload\Extend\SvgSanitizer" not found in /var/www/html/dcs_flarum/vendor/fof/upload/extend.php:112
          Stack trace:
          #0 /var/www/html/dcs_flarum/vendor/flarum/core/src/Extension/Extension.php(373): require()
          #1 /var/www/html/dcs_flarum/vendor/flarum/core/src/Extension/Extension.php(139): Flarum\Extension\Extension->getExtenders()
          #2 /var/www/html/dcs_flarum/vendor/flarum/core/src/Extension/ExtensionManager.php(390): Flarum\Extension\Extension->extend()
          #3 /var/www/html/dcs_flarum/vendor/flarum/core/src/Extension/ExtensionServiceProvider.php(31): Flarum\Extension\ExtensionManager->extend()
          #4 [internal function]: Flarum\Extension\ExtensionServiceProvider->Flarum\Extension{closure}()
          #5 /var/www/html/dcs_flarum/vendor/flarum/core/src/Foundation/Application.php(329): call_user_func()
          #6 /var/www/html/dcs_flarum/vendor/flarum/core/src/Foundation/Application.php(270): Flarum\Foundation\Application->fireAppCallbacks()
          #7 /var/www/html/dcs_flarum/vendor/flarum/core/src/Foundation/InstalledSite.php(151): Flarum\Foundation\Application->boot()
          #8 /var/www/html/dcs_flarum/vendor/flarum/core/src/Foundation/InstalledSite.php(82): Flarum\Foundation\InstalledSite->bootLaravel()
          #9 /var/www/html/dcs_flarum/vendor/flarum/core/src/Http/Server.php(59): Flarum\Foundation\InstalledSite->bootApp()
          #10 /var/www/html/dcs_flarum/vendor/flarum/core/src/Http/Server.php(36): Flarum\Http\Server->safelyBootAndGetHandler()
          #11 /var/www/html/dcs_flarum/public/index.php(26): Flarum\Http\Server->listen()
          #12 {main}'

            mrnaterpg hmm, ok - please disable it again for now and I will do some digging into this for you.

            mrnaterpg Can you try this for me, sorry?

            composer clear-cache
            composer dump-autoload

            then try and run:

            composer require enshrined/svg-sanitize
            php flarum cache:clear
            php flarum migrate

            and see if fof/upload then works for you please?

            It must've been related to the MariaDB version. I updated my server so I could get mariadb updated an lo and behold the plugin seems to be working