我创建了一个在Windows/Wamp环境中具有缓存脚本的应用程序。该脚本的缓存功能只允许同时运行一次。PHP fopen'x +'在ubuntu上无法运行
为了达到这个目的,我使用了一个'锁定文件'来检查它是否存在。
在windows上,此脚本继续正常工作。但现在它被转移到Ubuntu环境是行不通的。
<?php
date_default_timezone_set('Europe/Amsterdam');
ini_set('max_execution_time', 300);
ignore_user_abort(true);
$path = 'locked.txt';
if ($lock = fopen($path,'x+')) {
fwrite($lock,time());
fclose($lock);
sleep(10);
unlink($path);
}
?>
错误:fopen(locked.txt): failed to open stream: Permission denied
“@ fopen”正在抑制可能会导致问题出现的错误。 – apokryfos
@apokryfos删除了抑制'@'。但是没有错误。我还用一段简单的代码编辑了我的帖子。 – kgongonowdoe
复制粘贴您的代码。在我的14.04 Ubuntu上运行良好。确保你已经拥有目录的执行权限,因为如果你不这样做,你不能删除。 – apokryfos