例如,我的网站有模块更新信息。该值存储在文件a.php中:
<?php
return array(
'value' => STORE_HERE
);如果两个用户同时执行,会发生什么情况?
如何一次只满足一个请求?
发布于 2014-07-15 23:23:00
该文件将被锁定,直到写入所有内容。当文件被锁定时,任何其他进程都无法访问它。
但首先,为什么要将数据保存在PHP文件中?PHP文件用于处理,而不是数据存储。
发布于 2014-07-15 23:24:11
当php运行fopen with write选项时,如果文件已经被锁定以进行写入,您应该会得到一个错误,因此您将无法使用有效的句柄来写入文件。
我会考虑将值存储到数据库中,并在使用该值时锁定表以便写入(例如,通过事务)。
请记住,将值存储在php文件(可由服务器执行)中可能存在潜在的危险,因此有人可能会设法向其中插入恶意代码。如果这样做,请确保执行php文件的用户没有root权限。
https://stackoverflow.com/questions/24761936
复制相似问题