php数据加锁,php并发处理加锁

如何对PHP文件进行加密

php加密平台自开通以来已加密了670367个php文件,总数据大小5823.04 MB2015-04-18更新:PHP在线加密Beta版支持命名空间加密,即php源码中有namespace的文件加密。2015-01-13维护:修复PHP5.5及以上php版本更好支持php加密(免费版已不更新,不修复)

目前累计服务客户千余家,积累了丰富的产品开发及服务经验。以网站设计水平和技术实力,树立企业形象,为客户提供网站建设、成都做网站、网站策划、网页设计、网络营销、VI设计、网站改版、漏洞修补等服务。创新互联建站始终以务实、诚信为根本,不断创新和提高建站品质,通过对领先技术的掌握、对创意设计的研究、对客户形象的视觉传递、对应用系统的结合,为客户提供更好的一站式互联网解决方案,携手广大客户,共同发展进步。

php授权用户动态简化,只记录授权变化状态2014-12-09新增自定义授权错误信息提示(以前为白屏)2014-06-22新增支持heredoc和nowdoc语法结构的字符串2014-03-24修复部份代码中使用__FILE__不兼容的BUG2013-09-02修改:php免费加密后版权信息中增加中文声明2013-08-01新增功能:授权版可锁定php文件加密的文件名,php文件加密后不允许更改文件名。此功能配合锁定域名功能效果更佳。

修复:部份环境中获取不到服务器IP地址2013-06-20维护:常规更新维护,PHP加密代码小调整。2013-05-12修改:重写授权版的PHP加密算法,提高对代码的保护。2013-04-11调整:发现有个别用户使用我们免费的php加密平台对php源码加密后作为非法用途,因此把免费版对上传的php文件大小调整为50K。2013-03-11修改:为了加强付费授权版的使用安全,把免费版和付费授权版的算法分开处理。以后升级过程中主要针对付费授权版进行升级,免费版只做BUG修复处理。2013-02-01修改:免费版的版权信息中不再显示内核更新日期。

修改:编码加强混淆程度2013-01-07修改:php加密后的代码中去除“PHPJM_”标志性字符。

新增:先对php源码压缩后再加密,减小加密后的php文件大小

修复:php源代码中的php标签只有?而没有?时的BUG2012-12-11新增功能:授权版可锁定在某个日期段内运行,可将您的代码以试用方式进行发布。

修改:不再限制加密后的文件以.php为扩展名运行,支持以任何扩展名保存加密后的文件。

修复:自定义版权信息乱码BUG2012-11-14PHP在线加密平台上线2012-11-06完成PHP加密核心算法代码。

PHP下如何对文件进行加锁

/**********************************************

*file lock

*@author Zeal 

Li

*

***********************************************/

/*

*lock_thisfile:获得独享锁

*@param $tmpFileStr 用来作为共享锁文件的文件名(可以随便起一个名字)

*@param $locktype 锁类型,缺省为false(非阻塞型,也就是一旦加锁失败则直接返回false),设置为true则会一直等待加锁成功才返回

*@return 如果加锁成功,则返回锁实例(当使用unlock_thisfile方法的时候需要这个参数),加锁失败则返回false.

*/

function 

lock_thisfile($tmpFileStr,$locktype=false){

if($locktype == 

false)

$locktype = LOCK_EX|LOCK_NB;

$can_write = 0;

$lockfp = @fopen($tmpFileStr.".lock","w");

if($lockfp){

$can_write = @flock($lockfp,$locktype);

}

if($can_write){

return $lockfp;

}

else{

if($lockfp){

@fclose($lockfp);

@unlink($tmpFileStr.".lock");

}

return false;

}

}

/** 

*unlock_thisfile:对先前取得的锁实例进行解锁

*@param $fp lock_thisfile方法的返回值

*@param $tmpFileStr 

用来作为共享锁文件的文件名(可以随便起一个名字)

*/

function 

unlock_thisfile($fp,$tmpFileStr){

@flock($fp,LOCK_UN);

@fclose($fp);

@fclose($fp);

@unlink($tmpFileStr.".lock");

}

?

?php

// 使用举例

$tmpFileStr = "/tmp/mylock.loc";

// 等待取得操作权限,如果要立即返回则把第二个参数设为false.

$lockhandle = 

lock_thisfile($tmpFileStr,true);

if($lockhandle){

// 

在这里进行所有需要独占的事务处理。

// ... ...

// 事务处理完毕。

unlock_thisfile($lockhandle,$tmpFileStr);

}

?

PHP简单分布式锁-PHP中的锁

对于PHP的锁,其实并没有什么太多的概念。抛弃一些第三方的依赖,看看有哪些可用的选择。

目前可以想到的就这么多,在该项目中我们采用文件锁,因为其它的两个需要装扩展。文件锁的逻辑就非常简单了

从网上摘抄了一个例子,使用的 eAccelerator 和 文件锁两种 传送门

使用方法

PHP 读文件怎么实现加锁

你的问题是:

1. 很多文件,想多进程处理,以提高效率,缩短总处理时间

2. 这些进程只需要读文件,不需要写

3. 对每个文件,只要有一个进程处理过它就可以了,没有多个进程都必须处理它的需求

你的需求其实是分治,将文件分为多个组(不一定要在文件系统上新建目录),然后分而治之,这种情况不需要用锁.

锁不是用于这种场景的,锁用于下面这种场景:

1. 文件file.txt里面记录了user1的销售额和user2的销售额,user1+user2的销售总额

2. 进程php1负责写入user1的数据,进程php2负责写入user2的数据,两个进程各读出销售总额显示给user1,user2

建议你这样解决:

1. 启动多个PHP进程(nohup php your_script.php your_dir )

2. 每个PHP进程赋予一个序号(假设4个进程,那就0,1,2,3),可以通过对进程自身的pid模运算取余数得到,也可以在启动进程的时候通过命令行传入,随你了

3. 每个进程在处理文件前先对文件名做crc32()运算,模一下进程总数: crc32(file_name) % 4, 取模结果与此进程的序号相等就读取内容并处理,不相等就跳过


名称栏目:php数据加锁,php并发处理加锁
文章URL:http://myzitong.com/article/hchshi.html