案件:
我有一个PHP脚本,当前正由许多用户执行.
此脚本需要一些时间才能完成(例如,从浏览器获取数据,处理数据,更新数据库等)
现在我修改了脚本,然后使用FTP客户端将其上传到服务器.
FTP客户端愉快地上传它并说上传.
那现在真的发生了什么?
当我上传修改后的脚本时,当前执行会发生什么?
我想出的可能性是:
1)所有当前的执行都是拧紧的.
上载新脚本时,执行停止.
如果是这种情况(我不这样做),如何在不影响当前执行的情况下将脚本上传到服务器?
2)使用旧脚本完成当前执行.当新请求到来时,它将使用新修改的脚本进行处理.
3)还有别的吗?
解决方法:
假设你有index.PHP做一些密集的计算,需要花费相当多的时间,然后调用process.PHP
访问者访问您的网站并加载index.PHP.它由您的Web服务器软件(Apache,Nginx,IIS等)加载到内存中,并提供给您的访问者.当您的访问者在index.PHP上运行这些计算时,您决定上传index.PHP和process.PHP的更新版本.此时您的访问者将继续运行旧版本的index.PHP,他们在刷新页面之前不会看到新版本.
然而,在旧版本的index.PHP调用它之后,他们会看到新版本的process.PHP.这是因为服务器读取所调用的任何文件,将其加载到内存中并将其提供给用户在服务器和用户之间创建会话.如果用户在部分上载时尝试获取process.PHP或index.PHP,则会出现错误.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。