当前位置: 首页 > 知识库问答 >
问题:

如何在Windows上锁定PHP中的专有访问目录?

金飞翼
2023-03-14

我使用flock()方法在目录上获取咨询锁,并防止另一个进程同时访问同一目录。因为flock()在文件句柄上操作,所以我必须先打开目录上的句柄:

php prettyprint-override">fopen('.', 'r');

但是,这在Windows上不起作用:

Fopen(.):无法打开流:拒绝权限

有没有办法在视窗上做同样的事情,或者这是这个平台的限制?

共有1个答案

章城
2023-03-14

不要认为在没有文件系统驱动程序的情况下,你可以在Windows中运行。

但是尝试使用文件作为参考。在名为. locker的文件夹中创建一个文件并锁定/解锁它。如果它是锁定的,意味着文件夹不应该被触摸...否则。

或使用数据库存储可并发访问的数据。文件磁盘操作要慢得多。这可能会成为网站性能的瓶颈。

 类似资料:
  • 问题内容: 我在Windows 7计算机上运行Xampp,想知道是否以及如何通过命令行运行xampp命令。像php phpfile.php这样的命令 任何意见,将不胜感激。 问题答案: 您可以按照其他答案中的说明设置 环境变量 (如此处) 要么 您可以以管理员身份打开“ 开始” >“ CMD ”并编写

  • 我试图在根目录外的文件夹中保存一个文件,然后读取它的内容。 例如,我的工作目录是/var/www/html/project_folder,我想将文件保存在/var/www/new_folder中 我使用的是Laravel5.2,所以我的根路径是/var/www/html/project\u folder/public 我已授予新文件夹的所有权限。我尝试了$\u SERVER['DOCUMENT\u

  • 它发现我们帐户中的S3 bucket应用了错误的bucket策略,现在包括root用户在内的所有用户都被拒绝访问 我们无法通过AWS控制台和CLI更改权限,也无法删除bucket。如何修复它?

  • 我正试图通过id访问包装的相对布局上的TextView元素,但它没有显示在引用的id中,因此如何使用findViewById方法获取元素的id视图?我添加了一个扩展,允许我直接引用元素,但这并不完全是我要寻找的。我使用一个导航视图在片段之间切换,主活动有一个片段,在菜单中显示所选项目,因此我如何可能访问片段内视图布局中自己的元素释义片段定义活动主 R. id中的画廊号不显示 片段视图

  • 不久前,我用postgres数据库创建了一个Ruby on Rails项目。它最初是在一台macbook上创建的,我在那里建立了一个工作的生产和测试环境。不幸的是,这台电脑已经死了,现在我不得不继续用我唯一的机器——一台视窗10笔记本电脑——从事同一个项目。 我一直在按照这些指南在我的windows 10电脑上设置一个可行的rails环境:https://medium.com/@colinrubb