phpmyadmin 显示代码而不是网页

问题描述 投票:0回答:7

我正在升级我的发行版,从 kali(wheezy) 到 sid。但是当我设置我的网络服务器时,我重新安装了所有的,apache2,php,mysql等,但是当我访问

localhost/phpmyadmin
时我收到这个错误:该URL没有显示phpmyadmin的索引/登录页面,而是显示代码。在我的
/var/www
中,默认是index.html,我将其重命名为index.php,没问题,页面已加载,我对
/var/www
中的其他目录执行相同的操作,我添加了index.php或foo.php并且访问它,没问题,但是当我输入
phpmyadmin
时,它显示代码。我尝试安装
phpminiadmin
adminer
,但出现相同的错误,两者都显示代码而不是网页。

这是我的

apache2.conf
http://pastebin.com/MLYNQc6S

这是我的规格:

#php -v
PHP 5.5.7-2 (cli) (built: Dec 13 2013 00:25:07) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
    with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies
    with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans



# mysql --version
mysql  Ver 14.14 Distrib 5.5.33, for debian-linux-gnu (i686) using readline 6.2


# apache2 -v
Server version: Apache/2.4.6 (Debian)
Server built:   Aug 12 2013 18:20:23


uname -a
Linux angga.id 3.7-trunk-686-pae #1 SMP Debian 3.7.2-0+kali8 i686 GNU/Linux

并且在

my /var/log/apache2/*log

中没有发现错误

我发现这个Localhost/phpmyadmin/返回php代码但没有帮助。

我的服务器出了什么问题?

编辑1: 就像@Matt 在第一条评论中所说的那样。

libapache2-mod-php5
未安装,所以我使用存储库中的
apt-get
安装它。

apt-get install libapache2-mod-php5

但它返回一个错误,就像这样。

dpkg: error processing libapache2-mod-php5 (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 libapache2-mod-php5
E: Sub-process /usr/bin/dpkg returned an error code (1)

我打开synaptic并搜索

libapache2-mod-php5
,显示了两个具有该名称的包
libapache2-mod-php5filter
libapache2-mod-php5
,我检查了所有内容,然后安装它,成功,没有发现错误, 我重新启动 apache2 并转到
localhost/phpmyadmin
及其工作。 谢谢马特。

php apache phpmyadmin
7个回答
13
投票

试试这个

sudo apt-get install libapache2-mod-php7.0

这会安装apache2使用php7.0的库


9
投票

请检查以下内容,已从一些差异链接中为您找到:

 1. Make sure that PHP is installed. This sounds silly, but you never   
    know.

 2. Make sure that the PHP module is listed and uncommented inside of your Apache's httpd.conf This should be something like
    LoadModule    php5_module "c:/php/php5apache2_2.dll" in the file.
    Search for    LoadModule php, and make sure that there is no comment
    (;) in front    of it.

 3. Make sure that the http.conf file has the PHP MIME type in it. This should be something like AddType application/x-httpd-php
    .php.    This tells Apache to run .php files as PHP. Search for
    AddType, and    then make sure there is an entry for PHP, and that
    it is uncommented.

 4. Make sure your file has the .php extension on it, otherwise it will not be executed as PHP.

 5. Make sure you are not using short tags in the PHP file (<?), these are deprecated, and usually disabled. Use <?php instead.
           Actually run your file over said webserver using an URL like http://localhost/file.php not via local access   
    file://localhost/www/file.php

或检查http://php.net/install

谢谢


2
投票

我在 Debian 10 (buster) 和 PHP 7.3.19.1 以及 apache2 版本 2.4.38 和 phpmyadmin 5.02 上也遇到了同样的问题。 文件

usr/share/phpmyadmin/index.php
未被解释。 验证所有手动安装后,我运行了以下命令:

apt-get update
apt-get install libapache2-mod-php7.3
systemctl restart apache2

终于成功了。 apache2 的 PHP 模块不可用。


1
投票
sudo apt install php libapache2-mod-php
sudo apt install php7.0-mbstring
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
service apache2 restart

之后

gedit /etc/apache2/apache2.conf

添加以下行

包含/etc/phpmyadmin/apache.conf

重启apache2服务

libapache2-mod-php 服务器端,HTML 嵌入脚本语言(Apache 2 模块),所以我们必须添加这个


0
投票

就我而言,这是因为我事后安装了 apache2,然后没有链接并激活正确的 php mods。你需要做什么:

cd /etc/apache2/mods-enabled
sudo ln -s ../mods-available/php7.2.conf
sudo ln -s ../mods-available/php7.2.load

然后您只需执行以下命令来重新启动服务器:

sudo systemctl restart apache2

0
投票

如果所有其他 PHP 页面都工作正常,那么这可能不是与 PHP 相关的问题。

由于只有 phpmyadmin 登录页面显示 php 代码而不是实际的登录页面,因此很可能您的 apache Web 根目录/var/www/html/phpmyadmin中的

符号链接
正在引用 phpmyadmin 索引文件
/usr/share/phpmyadmin/index.php
而不是 phpmyadmin 目录
 /usr/share/phpmyadmin

这是一个不正确的符号链接:

$ ll /var/www/html
lrwxrwxrwx 1 root root  timestamp  phpmyadmin -> /usr/share/phpmyadmin/index.php

这是正确的符号链接:

$ ll /var/www/html
lrwxrwxrwx 1 root root  timestamp  phpmyadmin -> /usr/share/phpmyadmin/

如果符号链接不正确,请更改它:

$ sudo ln -sfn /usr/share/phpmyadmin /var/www/html/phpmyadmin

(或者删除它并重新创建它:)

$ sudo unlink /var/www/html/phpmyadmin
$ sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

-1
投票

请有人解释一下这是坏人可以利用的错误或漏洞吗??

© www.soinside.com 2019 - 2024. All rights reserved.