调用phpmyadmin网站时,出现application/x-httpd-php-
的"保存文件"对话框,因此我的服务器不执行phpmyadmin php脚本,而是将代码传输到我的浏览器。其他php如roundcube或ispconfig工作正常
- 我在这里发现了一个主题,声明在php.ini中启用short_open_tags,但这没有帮助(即它已经在默认情况下启用)。此外,我检查了已经安装并启用了apache 2 php5模块。 在日志文件中显然没有错误被列出。
- 我想知道phpmyadmin.conf是否被认为,因为只有一个符号链接在etc/apache2/conf中指向/usr/share/phpmyadmin。但是由于别名/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的mod:
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
和apache 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,这是一个很大的痛苦,造成了很多麻烦。当前的问题是其中的一部分,可能会有奇怪的原因,如贬值的配置项或其他。
首先,PHP的版本是什么?
如果除了phpMyAdmin以外的其他。php脚本都可以工作,那么可以很安全地假设phpMyAdmin的安装有问题。(无论是与文件或虚拟主机)
排除:
-
你可以在phpMyAdmin目录下运行另一个脚本吗?尝试使用包含phpinfo()的文件;
-
如果上面是真的,那么解析器不识别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,删除该行。
我必须添加以下内容,它告诉服务器解析phpMyAdmin目录
中的PHP文件<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>
在phpmyadmin配置过程中,MySQL数据库可能使用Unix Socket连接方法,实际上应该使用TCP/IP。然后在配置过程中选择localhost和默认端口[留空],这样就完成了。再次修改,输入terminal:
sudo dpkg-reconfigure phpmyadmin
您可能需要安装php-mysql和libapache2-mod-php,以便您的php安装能够与apache和mysql通信。如果没有这些包,PhpMyadmin将无法与PHP安装通信。
所以尝试运行以下命令并重新启动apache2。
sudo apt install libapache2-mod-php php-mysql
对我来说,问题是服务器没有解析PHP在phpMyAdmin目录。我添加了:
<Directory /usr/share/phpMyAdmin>
allow from all
Require all granted
AddType application/x-httpd-php .php
</Directory>
进入我的phpMyAdmin.conf(在etc/httpd/conf.d/中),这就完成了工作。
服务器是CentOS 7.6.1810