2009-10-05 166 views

回答

0

这意味着Apache不会将您的文件都识别为php可执行文件。也许你运行一个'emerge update world'然后运行一个'env-update'来安装一个新的apache2版本,然后重新编写旧的apache配置文件。正如LiraNuna提到的那样,您需要检查phpMyAdmin目录是否包含正确的指令以加载正确的PHP模块。这样apache就会知道如何处理php文件。

这是我对/etc/apache2/vhosts.d/default_vhost.include phpMyAdmin的目录下定义:


Alias /phpMyAdmin /var/www/localhost/htdocs/phpMyAdmin 
    <Directory /var/www/localhost/htdocs/phpMyAdmin> 
    Options Indexes FollowSymLinks 
    DirectoryIndex index.php 
    # Authorize for setup 
    <Files setup.php> 
    # For Apache 1.3 and 2.0 
     <IfModule mod_auth.c> 
      AuthType Basic 
      AuthName "phpMyAdmin Setup" 
      AuthUserFile /etc/phpmyadmin/htpasswd.setup 
     </IfModule> 
    # For Apache 2.2 
     <IfModule mod_authn_file.c> 
      AuthType Basic 
      AuthName "phpMyAdmin Setup" 
      AuthUserFile /etc/phpmyadmin/htpasswd.setup 
     </IfModule> 
     Require valid-user 
    </Files> 
    <IfModule mod_php4.c> 
     AddType application/x-httpd-php .php 
     php_flag magic_quotes_gpc Off 
     php_flag track_vars On 
     php_flag register_globals Off 
     php_value include_path . 
    </IfModule> 
    <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_value include_path . 
    </IfModule> 
</Directory> 

这应该解决您的问题。

+0

你能发布该文件的所有内容吗?这里是我的:http://dpaste.com/102960/。没有任何与phpmyadmin连接的部分。 – Ockonal 2009-10-05 19:53:38

+0

我发布了相关部分。我认为你的apache配置可能被'env-update'消灭了。 – Freddy 2009-10-05 20:23:37

0

是否安装了mod_php5?如果是这样,你是否设置了PHP处理程序来处理.php文件?

<IfModule mod_php5.c> 
    AddType application/x-httpd-php .php .phtml .php4 .php3 
    AddType application/x-httpd-php-source .phps 
</IfModule> 

如果您不使用mod_php5,您使用任何形式的CGI? .php文件是否具有执行权限?

+0

我不使用mod_php5,也不使用CGI。 – Ockonal 2009-10-05 19:35:08

+0

/var/www/localhost/htdocs/phpmyadmin中的所有文件都以管理员身份拥有者O_o – Ockonal 2009-10-05 19:39:13

+0

“我不使用mod_php5并且不使用CGI。” - 那么你期望如何运行** php ** MyAdmin? – LiraNuna 2009-10-05 19:51:24