当前位置 主页 > 服务器问题 > Linux/apache问题 >

    单台服务器中利用Apache的VirtualHost如何搭建多个Web站点详解(2)

    栏目:Linux/apache问题 时间:2019-10-09 22:07

    到这里,重启一下Apache服务(service httpd restart),就可以访问两个不同的站点了。

    独立Session

    如果我们的A,B两个站点的登录逻辑是用的一套代码,那我们使用后会发现,A站点和B站点的Session是共享的,也就是说,如果用户在A站点登录了之后,B站点是无需登录,自动也处于登录状态; 用户在A站点退出后,也会自动从B站点退出。

    这显然不是我们想要的结果,原因就是A,B两个站点公用了一套Session体系,所以才会造成这样的问题。

    解决的办法就是我们指定站点中session的存放位置。

    同样是修改配置文件中指定虚拟主机,我们以站点B做为示例,修改配置文件如下:

    <VirtualHost *:8080>
     DocumentRoot /var/www/webB
     ServerName webB
     <Directory "/var/www/webB">
      AllowOverride All
      php_value session.save_path "/var/lib/php/session_B"
     </Directory>
    </VirtualHost>

    php_value中 session.save_path 其实就是php.ini文件中的session.save_path字段,这里我们其他值都使用默认的php.ini配置文件,唯独指定了session的文件存放路径,默认的php session文件是存储在 /var/lib/php/session/文件夹中。

    再试着去访问以下站点B,并且进行一些session的存取操作,回头到/var/lib/php/session_B文件夹中,就会发现新的session文件了。

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对IIS7站长之家的支持。