首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php:共享服务器用户定义变量的两个客户端

php:共享服务器用户定义变量的两个客户端
EN

Stack Overflow用户
提问于 2017-05-12 11:04:24
回答 2查看 29关注 0票数 0

目标:创建厨房和前台可以相互通知。

Q:如何创建可以从厨房和前台读取和设置的php变量。假设变量是vStatus。因此,我们的计划是,当前台创建订单,然后是vStatus = 'kitchen1',当厨房通知订单准备就绪时,则是vStatus

在彼此上,我创建了timer函数来监视vstatus:

  • vstatus='frontdesk1'刷新页面时,在前台设置vstatus=''。因此前台的计时器功能一直持续到vstatus=frondesk1.。
  • 在厨房中,当vstatus='kitchen1'刷新厨房页面时,设置厨房侧循环中的vstatus=''和timer函数,直到vstatus='kitchen1'

硬件设置如下:

  • 前台:apache web server,web浏览器
  • 厨房: web浏览器
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-12 11:33:47

您不能在不同的请求之间共享PHP变量--从安全性的角度来看,这将是一件很糟糕的事情。

您要寻找的是一个存储--在php进程之外的某个位置,即使在请求处理(php执行)结束时,也会持久化您的值。

有许多选项可供选择,但以下是一些最常见和最容易设置/实现的选项:

  • http://php.net/manual/en/ref.filesystem.php -例如,在执行从文件中读取值的开头和值发生变化时,将新值写入文件覆盖旧的值
  • 键值存储(例如梅卡奇Redis) --您需要安装memcached/redis服务器,该服务器将作为独立的系统进程运行。然后,当它发生变化时,您将连接到它、读取值写值。(请注意,它们可以配置为持久化或非持久性存储,请参见下一点或说明)
  • http://php.net/manual/en/book.apcu.php -这是键值存储的一个特例,它作为一个扩展而不是外部服务。其思想仍然是阅读/写作,即存储在其中的值。请注意,这不是一个持久存储,这意味着当apache或php进程重新启动时,缓存将被清除并丢失值。
  • http://php.net/manual/en/refs.database.php (如MySQLMongoDB)。同样,您必须安装数据库服务器,并对如何使用它们进行一些读取。

当然还有更多的选择,但这些都是一开始的事情。

票数 0
EN

Stack Overflow用户

发布于 2017-05-12 11:11:20

您需要使用SQL将该变量存储在服务器和AJAX请求中,以便在任何设置的间隔内检查该值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43936259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档