Witam.
Podczas instalacji i konfiguracji środowiska do programowania w PHP na Linuxa wg tego poradnika (jest to moja pierwsza styczność z tym językiem)
napotkałem błąd przy próbie wejścia w panel "phpmyadmin" w przeglądarce:
"Fatal error: Array and string offset access syntax with curly braces is no longer supported in /usr/share/phpmyadmin/libraries/Util.php on line 2087"
Tak więc wyedytowałem ten plik zamieniając nawiasy klamrowe w podanej linii na kwadratowe, następnie znów wszedłem w "phpmyadmin" i tym razem pojawił się inny błąd:
"Fatal error: Array and string offset access syntax with curly braces is no longer supported in /usr/share/phpmyadmin/libraries/url_generating.lib.php on line 231"
Ten plik również wyedytowałem. Znów wszedłem w "phpmyadmin" i kolejny błąd:
"The mbstring extension is missing. Please check your PHP configuration."
Z jednego wątku na stackoverflow.com dowiedziałem się, że prawdopodobnie muszę doinstalować plik "php-mbstring", komendą:
"sudo apt install phpmyadmin php-mbstring php-gettext"
następnie zrestartowałem serwer, komendą:
"sudo /etc/init.d/apache2 restart"
Jednak nic to nie dało i dalej pojawiał się ten sam błąd. Jednak w tym samym wątku ktoś napisał, że powinno się zainstalować mbstring w takiej wersji jaką wersję interpretera php mam zainstalowaną.
No i tutaj pojawia się problem, gdyż trochę tutaj namieszałem. To długa historia, więc powiem tylko, że na php -v
w terminalu system odpowiada "PHP 7.4.28 (cli)" a na funkcję phpinfo()
w index.php
: "PHP 8.0.16".
Postanowiłem więc zainstalować mbstring
w obydwu wersjach. Jednak to pogorszyło sprawę, bo teraz wyskakuje mi taki błąd:
"Fatal error: Uncaught ValueError: mb_convert_encoding(): Argument #2 ($to_encoding) must be a valid encoding, "" given in /usr/share/php/php-php-gettext/gettext.inc:181 Stack trace: #0 /usr/share/php/php-php-gettext/gettext.inc(181): mb_convert_encoding() #1 /usr/share/php/php-php-gettext/gettext.inc(278): _encode() #2 /usr/share/php/php-php-gettext/gettext.inc(285): _gettext() #3 /usr/share/phpmyadmin/libraries/sanitizing.lib.php(179): __() #4 /usr/share/phpmyadmin/libraries/Message.php(607): PMA_sanitize() #5 /usr/share/phpmyadmin/libraries/Message.php(672): PMA\libraries\Message::decodeBB() #6 /usr/share/phpmyadmin/libraries/Error.php(220): PMA\libraries\Message->getMessage() #7 /usr/share/phpmyadmin/libraries/ErrorHandler.php(193): PMA\libraries\Error->getHash() #8 /usr/share/phpmyadmin/libraries/ErrorHandler.php(156): PMA\libraries\ErrorHandler->addError() #9 [internal function]: PMA\libraries\ErrorHandler->handleError() #10 /usr/share/phpmyadmin/libraries/session.inc.php(133): ini_set() #11 /usr/share/phpmyadmin/libraries/common.inc.php(280): require('...') #12 /usr/share/phpmyadmin/index.php(13): require_once('...') #13 {main} thrown in /usr/share/php/php-php-gettext/gettext.inc on line 181"
Czy wiecie o co może chodzić i jak zmusić do działania "phpmyadmin"?
Mój system to: Linux Mint 19.3 Cinnamon
Serwer: Apache2