laravel-filemanager icon indicating copy to clipboard operation
laravel-filemanager copied to clipboard

Error: method_exists(): Argument #1 ($object_or_class) must be of type object|string, null given PHP 8?

Open kinger251285 opened this issue 3 years ago • 2 comments

  • Operating system : Windows, Laravel Homestead via Vagrant
  • Laravel version : 7.19
  • Package version : 2.0 and just upgraded to 2.2
  • Steps to reproduce your issue : Started happening in all my projects locally since upgrading vagrant machine to PHP 8.
  • Screenshots of browser console :

image image

I am using the filemanager via the iframe solution as below:

<iframe src="/filemanager?type=common" style="width: 100%; height: 625px; overflow: hidden; border: none;"></iframe>

My LFM.config

`<?php

/* |--------------------------------------------------------------------------

Documentation for this config :
online => http://unisharp.github.io/laravel-filemanager/config
offline => vendor/unisharp/laravel-filemanager/docs/config.md
*/

return [ /* |--------------------------------------------------------------------------

Routing
 */

'use_package_routes'       => true,

/*
|--------------------------------------------------------------------------
| Shared folder / Private folder
|--------------------------------------------------------------------------
|
| If both options are set to false, then shared folder will be activated.
|
 */

'allow_private_folder'     => false,

// Flexible way to customize client folders accessibility
// If you want to customize client folders, publish tag="lfm_handler"
// Then you can rewrite userField function in App\Handler\ConfigHandler class
// And set 'user_field' to App\Handler\ConfigHandler::class
// Ex: The private folder of user will be named as the user id.
'private_folder_name'      => UniSharp\LaravelFilemanager\Handlers\ConfigHandler::class,

'allow_shared_folder'      => true,

'shared_folder_name'       => 'filemanager',

/*
|--------------------------------------------------------------------------
| Folder Names
|--------------------------------------------------------------------------
 */

'folder_categories'        => [
    'file'  => [
        'folder_name'  => 'files',
        'startup_view' => 'list',
        'max_size'     => 50000, // size in KB
        'valid_mime'   => [
            'image/jpeg',
            'image/pjpeg',
            'image/png',
            'image/gif',
            'image/svg+xml',
            'application/pdf',
            'text/plain',
        ],
    ],
    'image' => [
        'folder_name'  => 'photos',
        'startup_view' => 'grid',
        'max_size'     => 50000, // size in KB
        'valid_mime'   => [
            'image/jpeg',
            'image/pjpeg',
            'image/png',
            'image/gif',
            'image/svg+xml',
        ],
    ],
],

/*
|--------------------------------------------------------------------------
| Pagination
|--------------------------------------------------------------------------
 */

'paginator' => [
    'perPage' => 30,
],

/*
|--------------------------------------------------------------------------
| Upload / Validation
|--------------------------------------------------------------------------
 */

'disk'                     => 'public',

'rename_file'              => false,

'rename_duplicates'        => false,

'alphanumeric_filename'    => false,

'alphanumeric_directory'   => false,

'should_validate_size'     => false,

'should_validate_mime'     => false,

// behavior on files with identical name
// setting it to true cause old file replace with new one
// setting it to false show `error-file-exist` error and stop upload
'over_write_on_duplicate'  => false,

/*
|--------------------------------------------------------------------------
| Thumbnail
|--------------------------------------------------------------------------
 */

// If true, image thumbnails would be created during upload
'should_create_thumbnails' => true,

'thumb_folder_name'        => 'thumbs',

// Create thumbnails automatically only for listed types.
'raster_mimetypes'         => [
    'image/jpeg',
    'image/pjpeg',
    'image/png',
],

'thumb_img_width'          => 200, // px

'thumb_img_height'         => 200, // px

/*
|--------------------------------------------------------------------------
| File Extension Information
|--------------------------------------------------------------------------
 */

'file_type_array'          => [
    'pdf'  => 'Adobe Acrobat',
    'doc'  => 'Microsoft Word',
    'docx' => 'Microsoft Word',
    'xls'  => 'Microsoft Excel',
    'xlsx' => 'Microsoft Excel',
    'zip'  => 'Archive',
    'gif'  => 'GIF Image',
    'jpg'  => 'JPEG Image',
    'jpeg' => 'JPEG Image',
    'png'  => 'PNG Image',
    'ppt'  => 'Microsoft PowerPoint',
    'pptx' => 'Microsoft PowerPoint',
],

/*
|--------------------------------------------------------------------------
| php.ini override
|--------------------------------------------------------------------------
|
| These values override your php.ini settings before uploading files
| Set these to false to ingnore and apply your php.ini settings
|
| Please note that the 'upload_max_filesize' & 'post_max_size'
| directives are not supported.
 */
'php_ini_overrides'        => [
    'memory_limit' => '256M',
],

]; `

kinger251285 avatar Mar 10 '21 14:03 kinger251285

Upgraded Laravel to Laravel 8 and now all is working

kinger251285 avatar Mar 10 '21 15:03 kinger251285

Solved This by changing the PHP version 8.0.8 on composer.json

monirulkhan01 avatar Aug 03 '21 17:08 monirulkhan01