Apache 中的 PHPMyAdmin 500 内部服务器错误
PHPMyAdmin 500 Internal Server Error in Apache
版本:
- OS
lsb_release -a
: Ubuntu 18.04.5 LTS
- PHP
php -v
: 8.0.1
- 阿帕奇
apache2 -v
:2.4.29 (Ubuntu)
- MySQL
mysql -v
: 10.1.47-MariaDB
问题:
我正在尝试使用以下 article 安装 LAMP Stack。但是,我在从浏览器访问 phpmyadmin
时收到 HTTP 500 Error
。
所以,我尝试使用 ln
命令创建符号链接,但失败了
ln: failed to create symbolic link '/etc/apache2/conf-available/phpmyadmin.conf': File exists
root@host:/etc/phpmyadmin# sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
ln: failed to create symbolic link '/etc/apache2/conf-available/phpmyadmin.conf': File exists
尝试了 1 次:
然后,我通过强制 ln -sf
.
创建了符号链接
sudo ln -sf /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
和运行下面的命令
sudo a2enconf phpmyadmin.conf
sudo systemctl reload apache2.service
root@host:/etc/phpmyadmin# ls -l
-rw-r--r-- 1 root root 2110 Jul 10 2017 apache.conf
root@host:/etc/apache2/conf-available# ls -l
lrwxrwxrwx 1 root root 28 Jan 30 06:52 phpmyadmin.conf -> ../../phpmyadmin/apache.conf
尝试了 2 次:
我什至重新配置了 phpmyadmin 如果我错误地没有 select apache2 使用
sudo dpkg-reconfigure -plow phpmyadmin
/etc/apache2/conf-available/phpmyadmin.conf
# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options SymLinksIfOwnerMatch
DirectoryIndex index.php
<IfModule mod_php5.c>
<IfModule mod_mime.c>
AddType application/x-httpd-php .php
</IfModule>
<FilesMatch ".+\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0
</IfModule>
<IfModule mod_php.c>
<IfModule mod_mime.c>
AddType application/x-httpd-php .php
</IfModule>
<FilesMatch ".+\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0
</IfModule>
</Directory>
# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
<IfModule mod_authz_core.c>
<IfModule mod_authn_file.c>
AuthType Basic
AuthName "phpMyAdmin Setup"
AuthUserFile /etc/phpmyadmin/htpasswd.setup
</IfModule>
Require valid-user
</IfModule>
</Directory>
# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
Require all denied
</Directory>
但仍然无法通过浏览器访问phpmyadmin
。
有一点可能是因为 PHPMyAdmin 版本和 PHP 版本不能很好地协同工作。
你可以看到这个答案。我不想 post 多次重复同样的事情。
版本:
- OS
lsb_release -a
: Ubuntu 18.04.5 LTS - PHP
php -v
: 8.0.1 - 阿帕奇
apache2 -v
:2.4.29 (Ubuntu) - MySQL
mysql -v
: 10.1.47-MariaDB
问题:
我正在尝试使用以下 article 安装 LAMP Stack。但是,我在从浏览器访问 phpmyadmin
时收到 HTTP 500 Error
。
所以,我尝试使用 ln
命令创建符号链接,但失败了
ln: failed to create symbolic link '/etc/apache2/conf-available/phpmyadmin.conf': File exists
root@host:/etc/phpmyadmin# sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
ln: failed to create symbolic link '/etc/apache2/conf-available/phpmyadmin.conf': File exists
尝试了 1 次:
然后,我通过强制 ln -sf
.
sudo ln -sf /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
和运行下面的命令
sudo a2enconf phpmyadmin.conf
sudo systemctl reload apache2.service
root@host:/etc/phpmyadmin# ls -l
-rw-r--r-- 1 root root 2110 Jul 10 2017 apache.conf
root@host:/etc/apache2/conf-available# ls -l
lrwxrwxrwx 1 root root 28 Jan 30 06:52 phpmyadmin.conf -> ../../phpmyadmin/apache.conf
尝试了 2 次:
我什至重新配置了 phpmyadmin 如果我错误地没有 select apache2 使用
sudo dpkg-reconfigure -plow phpmyadmin
/etc/apache2/conf-available/phpmyadmin.conf
# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options SymLinksIfOwnerMatch
DirectoryIndex index.php
<IfModule mod_php5.c>
<IfModule mod_mime.c>
AddType application/x-httpd-php .php
</IfModule>
<FilesMatch ".+\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0
</IfModule>
<IfModule mod_php.c>
<IfModule mod_mime.c>
AddType application/x-httpd-php .php
</IfModule>
<FilesMatch ".+\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0
</IfModule>
</Directory>
# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
<IfModule mod_authz_core.c>
<IfModule mod_authn_file.c>
AuthType Basic
AuthName "phpMyAdmin Setup"
AuthUserFile /etc/phpmyadmin/htpasswd.setup
</IfModule>
Require valid-user
</IfModule>
</Directory>
# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/templates>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
Require all denied
</Directory>
但仍然无法通过浏览器访问phpmyadmin
。
有一点可能是因为 PHPMyAdmin 版本和 PHP 版本不能很好地协同工作。
你可以看到这个答案