我不久前制作了一个 php 搜索引擎,现在我怀疑我已经搜索过它,并在堆栈溢出上看到了很多问题,讨论对 php 脚本的多个同时访问,但仅涉及附加、修改等等...
假设我的搜索引擎(或任何其他基于用户输入生成不同响应的脚本)需要 20 秒才能结束搜索。
用户A访问脚本
用户 B 比用户 A 晚 10 秒访问脚本(因此脚本尚未“应答”用户 A)
会发生什么?服务器是否会“执行文件的另一个实例”,以便两个用户都会得到响应,或者是否会出现困惑?
此外,如果一个 php 脚本需要很长时间才能完成执行,并且一个人访问它然后不等待响应就离开,那么该 php 脚本是否仍然会执行它必须执行的所有操作,直到它到达末尾? (逻辑告诉我,在最后一个问题上,脚本将执行所有操作,直到到达末尾,因为该人只是发出请求,然后等待答案到来,如果它关闭,仍然没有任何东西会阻止 php 脚本执行,但我仍然在问,因为我想完全确定)
最佳答案
两个人都有自己的脚本实例。如果数据被修改,仍然可能存在数据一致性问题。由于HTTP是无状态协议(protocol),你不知道如果一个人没有等待结果就离开,脚本会运行到最后。
关于php的疑问。如果两个人同时访问同一个脚本会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7815386/