Saluti a tutte/i e buon Anno Nuovo!
Scrivo su questo forum essenzialmente per avere un vostro parere, se poi riusciste a darmi una dritta sarebbe fantastico, ecco di cosa si tratta:
Non sono per niente un programmatore e/o esperto di PHP. Ho costruito 2 plugin per il sito WordPress che gestisco (per mia moglie) ed ho utilizzato questo linguaggio appoggiandomi alle mie conoscenze lavorative in campo Fortran77, Pascal e altre dinosaurerie di questo genere che però mi hanno aiutato non poco nel mettere insieme questi plugin e a farli funzionare come volevo.
Tutto e' andato bene fino alla versione 7.4 di PHP. Quando il mio provider lo scorso dicembre mi ha avvertito che sarebbero passati alla versione 8.x ho per fortuna pensato di simulare il nuovo ambiente in cPanel e mi sono accorto che proprio questi due plugin erano rresponsabili del "fatal error" di PHP con conseguente crash di WP. Per non danneggiare le visite al sito, 1 mese fa ho disabilitato questi plugins (con rammarico) e ho cominciato a cercare soluzioni... che ad oggi sempre mi mancano. In verita' non so nemmeno da che parte cominciare a fare debugging. Ho preso in mano il manuale PHP ma non avendo alcun appiglio mi diventa impossibile qualsiasi tentativo.
L'unica cosa che sono riuscito a produrre di concreto (ben poco...) e' l'error.log di WP che mi presenta una serie di informazioni che pero', con tutta la mia buona volonta' non sono riuscito a interpretare.
Se qualche buon'anima riuscisse a darmi qualche indicazione su come procedere gliene sarei infinitamente grato. Di seguito un estratto di questo error.log dove e' registrato l'errore perdi uno dei due plugin. Ho provato ad andare alle righe riportate dal log ma non mi aiuta granchè:
----------------------------------------------------------------------------------------------------
thrown in /home/astroliv/public_html/wp-includes/class-wp-widget.php on line 163
[15-Dec-2023 14:52:45 UTC] PHP Fatal error: Uncaught ArgumentCountError: Too few arguments to function WP_Widget::__construct(), 0 passed in /home/astroliv/public_html/wp-includes/class-wp-widget-factory.php on line 62 and at least 2 expected in /home/astroliv/public_html/wp-includes/class-wp-widget.php:163
Stack trace:
#0 /home/astroliv/public_html/wp-includes/class-wp-widget-factory.php(62): WP_Widget->__construct()
#1 /home/astroliv/public_html/wp-includes/widgets.php(115): WP_Widget_Factory->register('myWidget')
#2 /home/astroliv/public_html/wp-content/plugins/zodiacal-period/zodiacal-period.php(52): register_widget('myWidget')
#3 /home/astroliv/public_html/wp-includes/class-wp-hook.php(324): my_register_widgets('')
#4 /home/astroliv/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array)
#5 /home/astroliv/public_html/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#6 /home/astroliv/public_html/wp-includes/widgets.php(1858): do_action('widgets_init')
#7 /home/astroliv/public_html/wp-includes/class-wp-hook.php(324): wp_widgets_init('')
#8 /home/astroliv/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array)
#9 /home/astroliv/public_html/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#10 /home/astroliv/public_html/wp-settings.php(643): do_action('init')
#11 /usr/local/cpanel/3rdparty/wp-toolkit/plib/vendor/wp-cli/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php(1383): require('/home/astroliv/...')
#12 /usr/local/cpanel/3rdparty/wp-toolkit/plib/vendor/wp-cli/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php(1302): WP_CLI\Runner->load_wordpress()
#13 /usr/local/cpanel/3rdparty/wp-toolkit/plib/vendor/wp-cli/vendor/wp-cli/wp-cli/php/WP_CLI/Bootstrap/LaunchRunner.php(28): WP_CLI\Runner->start()
#14 /usr/local/cpanel/3rdparty/wp-toolkit/plib/vendor/wp-cli/vendor/wp-cli/wp-cli/php/bootstrap.php(83): WP_CLI\Bootstrap\LaunchRunner->process(Object(WP_CLI\Bootstrap\BootstrapState) )
#15 /usr/local/cpanel/3rdparty/wp-toolkit/plib/vendor/wp-cli/vendor/wp-cli/wp-cli/php/wp-cli.php(32): WP_CLI\bootstrap()
#16 /usr/local/cpanel/3rdparty/wp-toolkit/plib/vendor/wp-cli/vendor/wp-cli/wp-cli/php/boot-fs.php(17): require_once('/usr/local/cpan...')
#17 /usr/local/cpanel/3rdparty/wp-toolkit/plib/vendor/wp-cli/wpt-wp-cli.php(31): require_once('/usr/local/cpan...')
#18 Command line code(1): require('/usr/local/cpan...')
#19 {main}
thrown in /home/astroliv/public_html/wp-includes/class-wp-widget.php on line 163
----------------------------------------------------------------------------------------------------
Un grazie grosso cosi' in anticipo per una vs. risposta!
Saluti
Ernesto
Installazione:
CMS: WordPRess v6.4.2
Tema: Catch Evolution PRO v4.1.1 con child-theme
PHP: v8.2.13 (server)
MySQL: v8.0.35 (server) v8.2.13 (client)
Server web: Apache
Arch. servere: Linux 4.18.0-513.5.1.el8_9.x86_64 x86_64