gpt4 book ai didi

由于 PHP 版本,Apache 中的 PHPMyAdmin 500 内部服务器错误

转载 作者:行者123 更新时间:2023-12-03 23:58:37 24 4
gpt4 key购买 nike

版本:

  • 操作系统 lsb_release -a : Ubuntu 18.04.5 LTS
  • PHP php -v : 8.0.1
  • Apache apache2 -v : 2.4.29 (Ubuntu)
  • MySQL mysql --version : mysql Ver 14.14 Distrib 5.7.32

  • 问题:
    我正在尝试使用以下 article 安装 LAMP Stack .但是,我得到了 HTTP 500 Error访问 phpmyadmin 时从浏览器。
    并使用以下命令安装 phpmyadmin。
  • sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

  • 试过:
    所以,我检查了错误日志 tail -f /var/log/apache2/error.log并发现 Phpmyadmin 在 PHP 的折旧版本上运行。
    [Sat Jan 30 12:56:38.798871 2021] [php:error] [pid 17271] [client 
    103.25.169.179:28514] PHP 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

    [Sat Jan 30 12:56:38.798871 2021] [php:error] [pid 17271] [client 103.25.169.179:28514] PHP 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\nStack trace:\n#0 /usr/share/php/php-php-
    gettext/gettext.inc(181): mb_convert_encoding()\n#1 /usr/share/php/php-
    php-gettext/gettext.inc(278): _encode()\n#2 /usr/share/php/php-php-
    gettext/gettext.inc(285): _gettext()\n#3
    /usr/share/phpmyadmin/libraries/sanitizing.lib.php(179): __()\n#4
    /usr/share/phpmyadmin/libraries/Message.php(607): PMA_sanitize()\n#5
    /usr/share/phpmyadmin/libraries/Message.php(672):
    PMA\\libraries\\Message::decodeBB()\n#6
    /usr/share/phpmyadmin/libraries/Error.php(220): PMA\\libraries\\Message-
    >getMessage()\n#7 /usr/share/phpmyadmin/libraries/ErrorHandler.php(193):
    PMA\\libraries\\Error->getHash()\n#8
    /usr/share/phpmyadmin/libraries/ErrorHandler.php(156):
    PMA\\libraries\\ErrorHandler->addError()\n#9 [internal function]:
    PMA\\libraries\\ErrorHandler->handleError()\n#10
    /usr/share/phpmyadmin/libraries/session.inc.php(133): ini_set()\n#11
    /usr/share/phpmyadmin/libraries/common.inc.php(280): require('...')\n#12
    /usr/share/phpmyadmin/index.php(13): require_once('...')\n#13 {main}\n
    thrown in /usr/share/php/php-php-gettext/gettext.inc on line 181

  • 我通过删除 { } 解决了数组和字符串偏移访问语法错误。与 [ ]
  • 运行以下命令sudo phpenmod mbstring
  • 最佳答案

    重要的:
    如果您有公开的 phpMyAdmin 或需要更新 phpMyAdmin 版本的功能,请更改版本号以获得更高的安全性。

    This was taken from a chat. Some things might be inaccurate, but this solved the OP's problem


    使用以下教程安装 PHPMyAdmin:
    1.
    apt purge phpmyadmin -y
  • cd /path/to/somefolder
  • wget https://files.phpmyadmin.net/phpMyAdmin/5.1.0-rc1/phpMyAdmin-5.1.0-rc1-all-languages.zip && unzip phpMyAdmin-5.1.0-rc1-all-languages.zip && 
    cd phpMyAdmin-5.1.0-rc1-all-languages
  • apt install pwgen -y
  • 记下该命令的输出,我将其称为 pw
  • pwgen -s 32 1
  • cp config.sample.inc.php config.inc.php
  • 用最喜欢的编辑器编辑 config.inc.php,并将密码粘贴到这一行:
  • . . .
    $cfg['blowfish_secret'] = 'STRINGOFTHIRTYTWORANDOMCHARACTERS'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
    . . .
  • vim /etc/apache2/conf-available/phpmyadmin-custom.conf
  • 将以下内容粘贴到之前的命令中:
  • Alias /phpmyadmin /path/to/that/phpMyAdmin-5.1.0-rc1-all-languages
    <Directory "/path/to/that/phpMyAdmin-5.1.0-rc1-all-languages">
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php
    Require all granted
    </Directory>
  • 使用 :wq 保存上一个, 运行以下命令
  • a2enconf phpmyadmin-custom && systemctl restart apache2 && mysql
  • 替换 your_password_here到您自己的密码。
  • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password_here';
  • systemctl restart mysql
    它现在应该可以工作了。
    补充说明:
    要只允许您查看 phpMyAdmin,请尝试:
    <Directory "/path/to/that/phpMyAdmin-5.1.0-rc1-all-languages">
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php
    Require local
    # Or change it to
    # Require ip 127.0.0.1
    # change 127.0.0.1 to your personal computers ip address,
    # not to the server ip
    # if you want to access phpMyAdmin from a public server, but not allow others to access it
    </Directory>

    关于由于 PHP 版本,Apache 中的 PHPMyAdmin 500 内部服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65968090/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com