2013-05-07 171 views
3

当调用phpmyadmin网站的“保存文件”对话框出现application/x-httpd-php-,所以我的服务器不执行phpmyadmin的PHP脚本,但将代码传输到我的浏览器。其他的PHP如roundcube或ispconfig可以像预期的那样工作。PHP的Phpmyadmin不会执行,但其他PHP脚本工作

  • 我在这里发现了一个话题,说明在php.ini中启用short_open_tags,但没有帮助(即它已默认启用)。
  • 另外,我检查了安装并启用了apache 2 php5模块。
  • 在日志文件中显然没有错误列出。
  • 我想知道是否phpmyadmin.conf甚至被视为,因为只有一个符号链接指向/ usr/share/phpmyadmin在etc/apache2/conf.d /目录中,但由于Alias/phpmyadmin工作,这不是问题。
  • 我检查了apache2配置文件,但找不到任何错误。

不过,我想在这里发布一些: apache2.conf

<IfModule mpm_prefork_module> 
    StartServers   5 
    MinSpareServers  5 
    MaxSpareServers  10 
    MaxClients   150 
    MaxRequestsPerChild 0 
</IfModule> 
<IfModule mpm_worker_module> 
    StartServers   2 
    MinSpareThreads  25 
    MaxSpareThreads  75 
    ThreadLimit   64 
    ThreadsPerChild  25 
    MaxClients   150 
    MaxRequestsPerChild 0 
</IfModule> 
<IfModule mpm_event_module> 
    StartServers   2 
    MinSpareThreads  25 
    MaxSpareThreads  75 
    ThreadLimit   64 
    ThreadsPerChild  25 
    MaxClients   150 
    MaxRequestsPerChild 0 
</IfModule> 
User ${APACHE_RUN_USER} 
Group ${APACHE_RUN_GROUP} 
AccessFileName .htaccess 
<Files ~ "^\.ht"> 
    Order allow,deny 
    Deny from all 
    Satisfy all 
</Files> 
DefaultType None 
HostnameLookups Off 
ErrorLog ${APACHE_LOG_DIR}/error.log 
LogLevel warn 
Include mods-enabled/*.load 
Include mods-enabled/*.conf 
Include ports.conf 
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined 
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined 
LogFormat "%h %l %u %t \"%r\" %>s %O" common 
LogFormat "%{Referer}i -> %U" referer 
LogFormat "%{User-agent}i" agent 
Include conf.d/ 
Include sites-enabled/ 

phpmyadmin.conf

Alias /phpmyadmin /usr/share/phpmyadmin 
<Directory /usr/share/phpmyadmin> 
     Options FollowSymLinks 
     DirectoryIndex index.php 
     <IfModule mod_php5.c> 
       AddType application/x-httpd-php .php 
       php_flag magic_quotes_gpc Off 
       php_flag track_vars On 
       php_flag register_globals Off 
       php_admin_flag allow_url_fopen Off 
       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/ 
     </IfModule> 
</Directory> 
<Directory /usr/share/phpmyadmin/setup> 
    <IfModule mod_authn_file.c> 
    AuthType Basic 
    AuthName "phpMyAdmin Setup" 
    AuthUserFile /etc/phpmyadmin/htpasswd.setup 
    </IfModule> 
    Require valid-user 
</Directory> 
<Directory /usr/share/phpmyadmin/libraries> 
    Order Deny,Allow 
    Deny from All 
</Directory> 
<Directory /usr/share/phpmyadmin/setup/lib> 
    Order Deny,Allow 
    Deny from All 
</Directory> 

这些都是启用的Apache 2的mods:

actions alias auth_basic auth_digest authn_file authz_default authz_groupfile authz_host authz_user autoindex cgi dav dav_fs deflate dir env fcgid include mime negotiation php5 reqtimeout rewrite ruby setenvif ssl status suexec suphp 

和安装的软件包有关pache 2或者php:

ii libapache2-mod-php5     5.4.4-14      i386   server-side, HTML-embedded scripting language (Apache 2 module) 
ii libapache2-mod-suphp     0.7.1-3      i386   Apache2 module to run PHP scripts with the owner permissions 
ii php-auth        1.6.2-1      all   PHP PEAR modules for creating an authentication system 
ii php-pear        5.4.4-14      all   PEAR - PHP Extension and Application Repository 
ii php5         5.4.4-14      all   server-side, HTML-embedded scripting language (metapackage) 
ii php5-cgi        5.4.4-14      i386   server-side, HTML-embedded scripting language (CGI binary) 
ii php5-cli        5.4.4-14      i386   command-line interpreter for the php5 scripting language 
ii php5-common       5.4.4-14      i386   Common files for packages built from the php5 source 
ii php5-curl       5.4.4-14      i386   CURL module for php5 
ii php5-gd        5.4.4-14      i386   GD module for php5 
ii php5-imagick       3.1.0~rc1-1+b2    i386   ImageMagick module for php5 
ii php5-imap       5.4.4-14      i386   IMAP module for php5 
ii php5-intl       5.4.4-14      i386   internationalisation module for php5 
ii php5-mcrypt       5.4.4-14      i386   MCrypt module for php5 
ii php5-mysql       5.4.4-14      i386   MySQL module for php5 
ii phpmyadmin       4:3.4.11.1-2     all   MySQL web administration tool 
ii suphp-common       0.7.1-3      i386   Common files for mod suphp 
ii apache2        2.2.22-13     i386   Apache HTTP Server metapackage 
ii apache2-doc       2.2.22-13     all   Apache HTTP Server documentation 
ii apache2-mpm-prefork     2.2.22-13     i386   Apache HTTP Server - traditional non-threaded model 
ii apache2-suexec      2.2.22-13     i386   Standard suexec program for Apache 2 mod_suexec 
ii apache2-utils      2.2.22-13     i386   utility programs for webservers 
ii apache2.2-bin      2.2.22-13     i386   Apache HTTP Server common binary files 
ii apache2.2-common      2.2.22-13     i386   Apache HTTP Server common files 
ii libapache2-mod-fcgid     1:2.3.6-1.2     i386   an alternative module compat with mod_fastcgi 
ii libapache2-mod-php5     5.4.4-14      i386   server-side, HTML-embedded scripting language (Apache 2 module) 
ii libapache2-mod-ruby     1.2.6-2      i386   Embedding Ruby in the Apache2 web server 
ii libapache2-mod-suphp     0.7.1-3      i386   Apache2 module to run PHP scripts with the owner permissions 

我在这里没有什么想法了。 我需要提一下,我错误地直接从Debian 5升级到了Debian 7,这是一个很大的麻烦,并且造成了很多麻烦。目前的这个问题是其中的一部分,可能会涉及到奇怪的原因,比如折旧的配置条目或其他。

+0

你安装什么版本的phpMyAdmin? – Pitchinnate 2013-05-07 16:13:13

+0

4:3.4.11.1-2,我在原帖 – Martur 2013-05-07 16:23:11

回答

1

首先,PHP的版本是什么?

如果其他.php脚本除了phpMyAdmin工作,那么假设phpMyAdmin安装有问题是非常安全的。 (或者与文件或虚拟主机)


疑难解答:

  1. 可以运行在phpMyAdmin目录另一个脚本?尝试使用包含phpinfo()的文件;如果它不起作用,那么问题在于你的apache配置。

  2. 如果以上情况属实,那么解析器不会将phpMyAdmin/index.php识别为一个php文件,出于某种原因。尝试重新安装phpMyAdmin。


思考:

删除AddType application/x-httpd-php .php。你不应该需要它。

在PHP 5.4中magic_quotes_gpc被删除。如果您正在运行PHP5,请删除该行。

从PHP 4.0.3开始,track_vars总是打开,所以也删除它。

从PHP 4.2.0开始,register_globals该指令默认为关闭。在PHP5.3中register_globals已弃用,截至PHP5.4 register_globals已删除。所以如果运行PHP> 4.2.0删除该行。

+0

中添加了已安装的软件包Phpinfo()在phpmyadmin目录(usr/share/phpmyadmin)中工作。 – Martur 2013-05-07 16:27:57

+0

现在我觉得自己很愚蠢......我清除了phpmyadmin的确和apt-get autoclean并重新安装了它。有用!老实说,我在这款odisee的开头就这样做了,但它没有帮助。 – Martur 2013-05-07 16:33:46

+0

很高兴现在正在工作。无论如何,看到我编辑的答案,底部。 – Tivie 2013-05-07 16:33:48

0

我不得不添加下面的,它告诉服务器phpMyAdmin的目录

<Directory /usr/share/phpMyAdmin> 
    Options -Indexes +IncludesNOEXEC +SymLinksIfOwnerMatch +ExecCGI 
    allow from all 
    AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch 
    Require all granted 
    AddType application/x-httpd-php .php 
    AddHandler fcgid-script .php 
    AddHandler fcgid-script .php5 
    FCGIWrapper /path/fcgi-bin/php5.fcgi .php 
    FCGIWrapper /path/fcgi-bin/php5.fcgi .php5 
</Directory> 
0

内解析PHP文件在phpmyadmin的配置,对于MySQL数据库,你可能已经使用Unix套接字连接方法,你应该实际使用TCP/IP。然后在配置过程中选择localhost和默认端口[保留空白]并完成。通过在终端中输入再次更改:

须藤的dpkg-重新配置的phpmyadmin

+0

与PHP 7.2它扔phpmyadmin错误2002年 – 2018-01-02 11:25:03