我正在升级我的发行版,从 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
及其工作。
谢谢马特。
试试这个
sudo apt-get install libapache2-mod-php7.0
这会安装apache2使用php7.0的库
请检查以下内容,已从一些差异链接中为您找到:
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
谢谢
我在 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 模块不可用。
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 模块),所以我们必须添加这个
就我而言,这是因为我事后安装了 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
如果所有其他 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
请有人解释一下这是坏人可以利用的错误或漏洞吗??