web-dev-qa-db-ja.com

mod_phpとsuPHPを同時に実行する

私は最近、5.2.xでDebian Lennyからアクセスし、/ home /にないすべてのphpファイルにmod_phpを使用し、/ home /にあるすべてのphpファイルにsuPHPを使用することができました。

これを行ったのは、/ var/www /にある自分のWebサイトにデフォルトのphp.ini(phpのすべての機能を提供)が必要であり、すべての.phpファイルの所有者をルートから変更する必要がなかったためです。また、危険な機能のないすべての/ home/phpファイルにデフォルトのphp.iniを使用しました。

これは私がセットアップしたものでした:

    <IfModule mod_suphp.c>
        <Directory /home/>
                AddType application/x-httpd-php .php .php3 .php4 .php5
                suPHP_AddHandler application/x-httpd-php
                suPHP_Engine on

                suPHP_ConfigPath /home/shared/
        </Directory>
    </IfModule>

これは完璧に機能していましたが、最近、dotdebからPHPから5.3.5にアップグレードしました(Lennyには公式のphp 5.3はありません)。これには、エラーが正しく表示されない、tidが少ないなどの奇妙な問題がありました。ビット。そこで、lennyからsqueezeにアップグレードすることにしました。phpをアンインストールし(suphpも付属)、新しいソースで再インストールしました。DebianSqueezeで5.3.3-7を使用していますが、mod_phpとsuPHPをで実行できません。 mod_phpは常に機能し、Apache2またはsuphpログにエラーはありません。mod_phpを無効にすると、suPHPが機能します。

私が間違っていることはありますか?

2
ParoX

php_admin_flag engine Offの先頭にmod_suphp.cを置くことで、自分が求めていたものを達成することができました。また、デフォルトでsuPHP_Engine offを使用していることを確認する必要がありました。

最終結果:

    <IfModule mod_suphp.c>
        <Directory /home/>
                php_admin_flag engine Off
                AddType application/x-httpd-php .php .php3 .php4 .php5
                suPHP_AddHandler application/x-httpd-php
                suPHP_Engine on

                suPHP_ConfigPath /home/shared/
        </Directory>
    </IfModule>

不思議に思う人のために、これは私が/home/shared/php.iniに持っていたものです。vhostsで別の方法で指定しない限り、すべての/homeユーザーphp.iniになります。

allow_url_fopen = Off 
display_errors = On 
display_startup_errors = On 
log_errors = On 
error_reporting = E_ALL 
error_log = "/var/log/Apache2/php_user_errors.log"
expose_php = Off 
magic_quotes_sybase = Off 
register_globals = Off
open_basedir = "/home:/tmp"
short_open_tag = On
session.save_path = "/tmp"
disable_functions = "phpinfo, Apache_child_terminate,Apache_get_modules,Apache_get_version,Apache_getenv,Apache_note,Apache_setenv,curl_exec,curl_multi_exec,dir,disk_free_space,diskfreespace,dl,eval,exec,fsockopen,highlight_file,ini_alter,ini_restore,ini_set,openlog,parse_ini_file,passthru,pclose,popen,proc_close,proc_get_status,proc_Nice,proc_open,proc_terminate,readfile,set_time_limit,Shell_exec,show_source,stream_socket_server,symlink,system,virtual"
3
ParoX