tho*_*hor 7 linux php5 suphp apache-2.2
我有一个 Debian Lenny Web 服务器。它使用 libapache2-mod-suphp 运行 apache2。不幸的是,suphp 无法使用 phpmyadmin,因为 phpmyadmin 安装在 /usr/share/phpmyadmin 中并由 root 拥有,而 suphp 在此目录中禁用了它的引擎:
$ cat /etc/apache2/mods-enabled/suphp.conf
<IfModule mod_suphp.c>
AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
suPHP_AddHandler application/x-httpd-php
<Directory />
suPHP_Engine on
</Directory>
# By default, disable suPHP for debian packaged web applications as files
# are owned by root and cannot be executed by suPHP because of min_uid.
<Directory /usr/share>
suPHP_Engine off
</Directory>
</IfModule>
Run Code Online (Sandbox Code Playgroud)
是否有可能在使用 suphp 时启用系统 phpmyadmin(可能通过标准 libapache2-mod-php5)?如何?
tho*_*hor 11
在 /etc/apache2/mods-available/suphp.conf 以下两行:
AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
suPHP_AddHandler application/x-httpd-php
Run Code Online (Sandbox Code Playgroud)
应改为:
AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml
suPHP_AddHandler application/x-httpd-suphp
Run Code Online (Sandbox Code Playgroud)
然后,在 /etc/suphp/suphp.conf 行
application/x-httpd-php=php:/usr/bin/php-cgi
Run Code Online (Sandbox Code Playgroud)
应改为:
application/x-httpd-suphp=php:/usr/bin/php-cgi
Run Code Online (Sandbox Code Playgroud)
然后, /etc/apache2/mods-available/php5.conf 的内容应该从:
<IfModule mod_php5.c>
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps
</IfModule>
Run Code Online (Sandbox Code Playgroud)
到:
<Directory /usr/share>
<IfModule mod_php5.c>
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps
</IfModule>
</Directory>
Run Code Online (Sandbox Code Playgroud)
这样,所有 php 脚本都被分配了 x-httpd-suphp 类型,该类型由 suphp 处理。由于 /usr/share 中的文件禁用了 suphp,因此在该目录的 php5.conf 中,php 脚本获取 x-httpd-php 类型并由 mod_php5 处理。这样,除了 /usr/share 中系统安装的脚本之外,您可以为所有其他脚本保留 suphp。
| 归档时间: |
|
| 查看次数: |
6268 次 |
| 最近记录: |