我用XAMPP架设的网站,开了多个站点,我想设置某些站点开启register_globals,某些站点不开启register_globals,有办法吗?

解决方案 »

  1.   

    在一个服务器里
    应该不好实现吧
    貌似只能在php.ini里设置除非你架了多个服务器,每个设置的 off on 不一样
      

  2.   

    1 从服务器方面考虑
    register_globals "0" PHP_INI_PERDIR PHP_INI_ALL in PHP <= 4.2.3. Removed in PHP 6.0.0. PHP_INI_PERDIR 2 Entry can be set in php.ini, .htaccess or httpd.conf 
    多个网站,php.ini和httpd.conf肯定是不能设置了.
    哪就只有.htaccess来实现了,具体如何实现自己去想办法,呵呵.
    如果这个不行,哪就没有任何出路了.2 php自己写个函数转化一下.
      写个函数自己转化将register_globals off影响的全局变量自己转换一下,这个是最容易的.
      

  3.   

    多谢你的回复
    我只能从服务器方面考虑,网站程序是别人的,我不能修改
    我的PHP是5.0的,你说的第一种方法就适合5.0吧?
      

  4.   

    1 httpd.conf里设置
    可以给对应目录设置
    <Directory /var/www/xyz >
        php_admin_flag register_globals On
    <Directory>
    <Directory /var/www/xyz1 >
        php_admin_flag register_globals On
    <Directory>2 .htacess设置
    apache httpd.conf设置目录接受.htaccess<Directory /var/www/xyz >
        AllowOverride Options
    <Directory>
    生成/var/www/xyz/.htaccess文件文件内容
    php_flag register_globals On这样的话,可能还是第一种方法比较容易点了.但第二种方法比较灵活,用户可以自己修改选择是否开关
      

  5.   


    这两种方法我都试过了,无效
    我的环境是windows+xampp