The panel cannot be installed

Should I contact my hosting support or this is a CMS only issue ?
Thanks :slight_smile:

Please post your config.php.

<?php

return [

// Theme Settings
'hepburn.about' => 'about',

'debug' => false,
'panel' =>[
  'install' => true
]

// Max width for large images
'hashandsalt.maxWidth' => 2000,

// Thumb Options
'thumbs' => [
  'driver' => 'im',
  'quality' => 80
],

// Cachebuster
'schnti.cachebuster.active' => false,

// Hooks
'hooks' => [
  // Scale Big Images Down
  'file.create:after' => function ($file) {
      if ($file->isResizable()) {
          if ($file->width() > option('hashandsalt.maxWidth')) {
              try {
                  kirby()->thumb($file->root(), $file->root(), [
                      'width' => option('hashandsalt.maxWidth')
                  ]);
              } catch (Exception $e) {
                  throw new Exception($e->getMessage());
              }
          }
      }
  }
  ]
];

Your syntax is messed up. All settings need to be within one return array:

<?php

return [
  // all settings here between the opening and closing brackets; 
  //dont forget semicolon after closing bracket
  

];

Ok I went through the syntax. I only had one “return” array but there was a missing comma obviously after install option closing bracket.
Thanks !

I have the same problem and the 'panel' => ['install' => true] solution doesn’t work for me :frowning:

How can I troubleshoot this mysterious installation problem?

In my case, everything was working just fine until recently! But now it’s failing after a routine code update and despite local tests working things no longer work in production :frowning:

No code changes happened here, but just to show what I have…

Here is my site/config/config.php:

<?php

$hooks = require_once(__DIR__ . '/hooks.php');
/*
  KIRBY SETTINGS
*/

return [
  'debug' => true,
  'languages' => true,
  'panel' => [
    'install' => true,
    'css' => 'build/global.css',
    'js' => 'https://cdn.tailwindcss.com'
  ],
  'markdown' => [
    'extra' => true
  ],
  'api' => [
    'basicAuth' => true,
    'allowInsecure' => true
  ],
  'thathoff' => [
    'git-content' => [
      'disable' => true
    ],
  ],
  'hooks' => $hooks,
  'siteUrl' => 'http://localhost:3000'
];

Here is my site/config/config.LIVE_DOMAIN.php:

<?php
/*
 * Overrides some default settings from config.php
 */
return [
  'debug' => false,
  'panel' => [
    'install' => true
  ],
  'api' => [
    'allowInsecure' => false
  ],
  'thathoff' => [
    'git-content' => [
      'disable' => false,
      'branch' => 'main',
      'pull' => true,
      'commit' => true,
      'push' => true,
      'displayErrors' => true
    ],
  ],
  'siteUrl' => 'CENSORED'
];

Here is .htaccess:

# Kirby .htaccess
# revision 2020-06-15

# rewrite rules
<IfModule mod_rewrite.c>

# enable awesome urls. i.e.:
# http://yourdomain.com/about-us/team
RewriteEngine on

# make sure to set the RewriteBase correctly
# if you are running the site in a subfolder;
# otherwise links or the entire site will break.
#
# If your homepage is http://yourdomain.com/mysite,
# set the RewriteBase to:
#
# RewriteBase /mysite

# In some environments it's necessary to
# set the RewriteBase to:
#
# RewriteBase /

# block files and folders beginning with a dot, such as .git
# except for the .well-known folder, which is used for Let's Encrypt and security.txt
RewriteRule (^|/)\.(?!well-known\/) index.php [L]

# block all files in the content folder from being accessed directly
RewriteRule ^content/(.*) index.php [L]

# block all files in the site folder from being accessed directly
RewriteRule ^site/(.*) index.php [L]

# block direct access to Kirby and the Panel sources
RewriteRule ^kirby/(.*) index.php [L]

# make site links work
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php [L]

</IfModule>

# pass the Authorization header to PHP
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

# compress text file responses
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
    Header set Access-Control-Allow-Origin "localhost"
    Header set Access-Control-Allow-Origin "localhost:3000"
    Header set Access-Control-Allow-Origin "CENSORED"
    Header set Access-Control-Allow-Origin "CENSORED:3000"
</IfModule>

Also, note that I’m still using Kirby 3.5.8 if that changes anything.