咨询:IIS 10环境下无需重启服务器,仅为单个站点重载php.ini的可行方案
咨询:IIS 10环境下无需重启服务器,仅为单个站点重载php.ini的可行方案
嘿,我来帮你搞定这个问题!你遇到的情况很常见——修改了没法用ini_set()调整的php.ini参数,又不想打扰其他站点的用户,其实有两个靠谱的办法:
回收目标站点对应的独立应用程序池
如果这个站点已经有专属的应用程序池,操作超简单:打开IIS管理器,找到目标站点,查看它关联的应用程序池(右键站点→「高级设置」里就能看到),然后在「应用程序池」节点找到这个池,右键选择「回收」就行。这个操作会重启该池对应的PHP FastCGI进程,新的php.ini配置立刻生效,而且完全不会影响其他站点的应用程序池,用户根本感觉不到中断。先分离站点到独立应用程序池,再回收
要是多个站点共用一个应用程序池,第一步得把目标站点单独拎出来:在IIS管理器里右键目标站点→「管理网站」→「高级设置」,找到「应用程序池」选项,点击右侧按钮新建一个专属的应用程序池(比如命名成和站点同名的,方便识别),确定后保存设置。之后再按照上面的方法回收这个新的应用程序池,这样就只会让这个站点加载新的php.ini,其他站点依旧在原来的池里正常运行。
这里得提一句为什么重启网站没用:因为重启站点只是重置了HTTP请求的监听,而PHP的运行进程是由应用程序池管理的,只有重启或回收应用程序池,才能让PHP重新读取php.ini文件。
备注:内容来源于stack exchange,提问作者Stackerito
相关产品推荐
相关产品推荐

