Phpmyadmin显示PHP代码,但实际应用程序代码工作良好


phpmyadmin shows php code, but actual application code works fine

我在AWS服务器上托管我的应用程序。我在上面配置了Virtualmin,创建了一个新的虚拟服务器——mydomain.td.lr,它创建了一个用户——mydomain。

我也从virtualmin接口为它配置了一个虚拟主机。

<VirtualHost *:80>
SuexecUserGroup "#500" "#500"
ServerName mydomain.td.lr
ServerAlias www.mydomain.td.lr
ServerAlias webmail.mydomain.td.lr
DocumentRoot /var/www/public_html/mydomain
ErrorLog /var/log/virtualmin/mydomain.td.lr_error_log
CustomLog /var/log/virtualmin/mydomain.td.lr_access_log combined
ScriptAlias /cgi-bin/ /home/mydomain/cgi-bin/
ScriptAlias /awstats/ /home/mydomain/cgi-bin/
DirectoryIndex index.html index.htm index.php index.php4 index.php5
<Directory /var/www/public_html/mydomain>
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 /home/mydomain/fcgi-bin/php5.fcgi .php
FCGIWrapper /home/mydomain/fcgi-bin/php5.fcgi .php5
</Directory>
<Directory /home/mydomain/cgi-bin>
allow from all
AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
Require all granted
</Directory>
RewriteEngine on
RewriteCond %{HTTP_HOST} =webmail.mydomain.td.lr
RewriteRule ^(.*) https://mydomain.td.lr:20000/ [R]
RemoveHandler .php
RemoveHandler .php5
php_admin_value engine Off
IPCCommTimeout 31
FcgidMaxRequestLen 1073741824
Alias /dav /home/mydomain/public_html
Alias /pipermail /var/lib/mailman/archives/public
<Location /dav>
DAV on
AuthType Basic
AuthName "mydomain.td.lr"
AuthUserFile /home/mydomain/etc/dav.digest.passwd
Require valid-user
ForceType text/plain
Satisfy All
RemoveHandler .php
RemoveHandler .php5
RewriteEngine off
</Location>
<Files awstats.pl>
AuthName "mydomain.td.lr statistics"
AuthType Basic
AuthUserFile /home/mydomain/.awstats-htpasswd
require valid-user
</Files>
RedirectMatch /cgi-bin/mailman/([^/'.]*)(.cgi)?(.*) https://mydomain.td.lr:10000/virtualmin-mailman/unauthenticated/$1.cgi$3
RedirectMatch /mailman/([^/'.]*)(.cgi)?(.*) https://mydomain.td.lr:10000/virtualmin-mailman/unauthenticated/$1.cgi$3
</VirtualHost>

这被附加到httpd.conf

当我在mydomain.td.lr打开我的应用程序时,应用程序显示;但当我打开phpmhyadmin,我看到php代码在那里。

另外,当我看到phpmyadmin页面的源代码时,所有php代码都被注释掉了html中的代码也就是php被显示

我在服务器上重新安装了phpmyadmin,但仍然没有成功。配置出了什么问题??

删除这两行就可以了。

RemoveHandler .php
RemoveHandler .php5

存在于/etc/phpmyadmin文件夹的apache.conf是否做了修改?

我认为你也必须在phpmyadmin apache.conf中输入,并确保php.ini文件中没有注释短标签。

我的例子是

php_admin_value engine Off
在httpd

。配置虚拟主机段。

一旦禁用,

# php_admin_value engine Off

一切(虚拟站点,phpMyAdmin)工作得很好。

考虑安全问题,但mod_php可以在自定义或默认模板中启用> Virtualmin Server template下的Apache_website