[PATH设置]linux中profile的执行说明
Unix/LinuxC技术 jackxiang 2012-10-10 18:14
(1)/etc/profile
全局(公有)配置,不管是哪个用户,登录时都会读取该文件。
(2)/ect/bashrc
Ubuntu没有此文件,与之对应的是/ect/bash.bashrc它也是全局(公有)的,bash执行时,不管是何种方式,都会读取此文件。
(3)~/.profile
若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。
另外,图形模式登录时,此文件将被读取,即使存在~/.bash_profile和~/.bash_login。
(4)~/.bash_login
若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。
(5)~/.bash_profile
Unbutu默认没有此文件,可新建。
只有bash是以login形式执行时,才会读取此文件。通常该配置文件还会配置成去读取~/.bashrc。
(6)~/.bashrc
当bash是以non-login形式执行时,读取此文件。若是以login形式执行,则不会读取此文件。
(7)~/.bash_logout
注销时,且是longin形式,此文件才会读取。也就是说,在文本模式注销时,此文件会被读取,图形模式注销时,此文件不会被读取。
下面是在本机的几个例子:
1. 图形模式登录时,顺序读取:/etc/profile和~/.profile
2. 图形模式登录后,打开终端时,顺序读取:/etc/bash.bashrc和~/.bashrc
3. 文本模式登录时,顺序读取:/etc/bash.bashrc,/etc/profile和~/.bash_profile
4. 从其它用户su到该用户,则分两种情况:
(1)如果带-l参数(或-参数,--login参数),如:su -l username,则bash是lonin的,它将顺序读取以下配置文件:/etc/bash.bashrc,/etc/profile和~ /.bash_profile。
(2)如果没有带-l参数,则bash是non-login的,它将顺序读取:/etc/bash.bashrc和~/.bashrc
5. 注销时,或退出su登录的用户,如果是longin方式,那么bash会读取:~/.bash_logout
6. 执行自定义的shell文件时,若使用“bash -l a.sh”的方式,则bash会读取行:/etc/profile和~/.bash_profile,若使用其它方式,如:bash a.sh, ./a.sh,sh a.sh(这个不属于bash shell),则不会读取上面的任何文件。
7. 上面的例子凡是读取到~/.bash_profile的,若该文件不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。
全局(公有)配置,不管是哪个用户,登录时都会读取该文件。
(2)/ect/bashrc
Ubuntu没有此文件,与之对应的是/ect/bash.bashrc它也是全局(公有)的,bash执行时,不管是何种方式,都会读取此文件。
(3)~/.profile
若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。
另外,图形模式登录时,此文件将被读取,即使存在~/.bash_profile和~/.bash_login。
(4)~/.bash_login
若bash是以login方式执行时,读取~/.bash_profile,若它不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。
(5)~/.bash_profile
Unbutu默认没有此文件,可新建。
只有bash是以login形式执行时,才会读取此文件。通常该配置文件还会配置成去读取~/.bashrc。
(6)~/.bashrc
当bash是以non-login形式执行时,读取此文件。若是以login形式执行,则不会读取此文件。
(7)~/.bash_logout
注销时,且是longin形式,此文件才会读取。也就是说,在文本模式注销时,此文件会被读取,图形模式注销时,此文件不会被读取。
下面是在本机的几个例子:
1. 图形模式登录时,顺序读取:/etc/profile和~/.profile
2. 图形模式登录后,打开终端时,顺序读取:/etc/bash.bashrc和~/.bashrc
3. 文本模式登录时,顺序读取:/etc/bash.bashrc,/etc/profile和~/.bash_profile
4. 从其它用户su到该用户,则分两种情况:
(1)如果带-l参数(或-参数,--login参数),如:su -l username,则bash是lonin的,它将顺序读取以下配置文件:/etc/bash.bashrc,/etc/profile和~ /.bash_profile。
(2)如果没有带-l参数,则bash是non-login的,它将顺序读取:/etc/bash.bashrc和~/.bashrc
5. 注销时,或退出su登录的用户,如果是longin方式,那么bash会读取:~/.bash_logout
6. 执行自定义的shell文件时,若使用“bash -l a.sh”的方式,则bash会读取行:/etc/profile和~/.bash_profile,若使用其它方式,如:bash a.sh, ./a.sh,sh a.sh(这个不属于bash shell),则不会读取上面的任何文件。
7. 上面的例子凡是读取到~/.bash_profile的,若该文件不存在,则读取~/.bash_login,若前两者不存在,读取~/.profile。
原文链接: The 7 signs of failure for internet startups
导致互联网初创公司失败的七个信号
1. 不是全职创业
2. 超过四个创始人
3. 没有技术合伙人
4. 没有根据业务类型,选择合适的创业组合
5. 没有实行中央集权
6. 一意孤行,没有汲取客户的反馈
7. 在一个没有经过验证的市场环境,扩张太快
在如果在创业公司的你,闻到了几个信号?
导致互联网初创公司失败的七个信号
1. 不是全职创业
2. 超过四个创始人
3. 没有技术合伙人
4. 没有根据业务类型,选择合适的创业组合
5. 没有实行中央集权
6. 一意孤行,没有汲取客户的反馈
7. 在一个没有经过验证的市场环境,扩张太快
在如果在创业公司的你,闻到了几个信号?
就好像有人按着一样,不按ctrl 鼠标滚轮还是会更改桌面大小.重启电脑就好了! 可能还有其他键也自动按了 。。不论我进行什么操作他就好像点了CTRL+我按了的键一样,包括使用鼠标也是CTRL+鼠标左右键,期间无论我按不按CTRL键都是这样,重启后就正常了
一:在“我的电脑”上右键选择“管理”--“设备管理器”,找到键盘设备下面的101/102标准键盘,右键卸载;然后重启机器测试;
二:你把shift连续按五次,看看是不是把电脑里面自带的一个叫粘黏键的东西打开了.他可以帮你把ctrl shift alt等键帮你按下,可以在本来需要几个键一起按下的时候只用按其它键而不需要按功能键.
超级兔子免安装有屏蔽按键功能。
一:在“我的电脑”上右键选择“管理”--“设备管理器”,找到键盘设备下面的101/102标准键盘,右键卸载;然后重启机器测试;
二:你把shift连续按五次,看看是不是把电脑里面自带的一个叫粘黏键的东西打开了.他可以帮你把ctrl shift alt等键帮你按下,可以在本来需要几个键一起按下的时候只用按其它键而不需要按功能键.
超级兔子免安装有屏蔽按键功能。
无它,CPU占用太多了,得干掉:
1、退出QQ,不管你运行几个QQ,全部退出,确保进程里面没有QQ.exe和上述进程;(当然直接从任务管理器里结束掉也成)
2、打开QQ所在的文件夹:QQ2012Bin 文件夹,Bin 文件夹放着QQ的可执行文件等等;
3、删除掉QQExternal.exe、TXPlatform.exe、TXPFProxy.dll 这三个文件(直接Shift + Delete 键删除,不必入回收站,我是修改了后缀名加上.del)
好了,你很快就发现优点了,例如启动QQ更快,登陆更快,占用CPU减少,身边朋友的笔记本装了Win8正式版,i5 的CPU QQExternal.exe 占用40%,删除之后,整个世界清净了……
1、退出QQ,不管你运行几个QQ,全部退出,确保进程里面没有QQ.exe和上述进程;(当然直接从任务管理器里结束掉也成)
2、打开QQ所在的文件夹:QQ2012Bin 文件夹,Bin 文件夹放着QQ的可执行文件等等;
3、删除掉QQExternal.exe、TXPlatform.exe、TXPFProxy.dll 这三个文件(直接Shift + Delete 键删除,不必入回收站,我是修改了后缀名加上.del)
好了,你很快就发现优点了,例如启动QQ更快,登陆更快,占用CPU减少,身边朋友的笔记本装了Win8正式版,i5 的CPU QQExternal.exe 占用40%,删除之后,整个世界清净了……
Connection reset by peer: socket write error错误分析:
常出现的Connection reset by peer: 原因可能是多方面的,不过更常见的原因是:
①:服务器的并发连接数超过了其承载量,服务器会将其中一些连接Down掉;
②:客户关掉了浏览器,而服务器还在给客户端发送数据;
③:浏览器端按了Stop
通常原因为:远程主机上对等方应用程序突然停止运行,或远程主机重新启动,或远程主机在远程方套接字上使用了“强制”关闭 (参见setsockopt(SO_LINGER))。另外,在一个或多个操作正在进行时,如果连接因“keep-alive”活动检测到一个失败而中 断,也可能导致此错误。此时,正在进行的操作以错误码WSAENETRESET失败返回,后续操作将失败返回错误码WSAECONNRESET。
但是如果频繁出现,就表示很 多客户端连接到Apache服务器的响应时间太长了,可能是网络的问题或者服务器性能问题。
---
备注:如果平时运行得好好的一个程序,在后面用curl去访问时出现了上述范围,其一般来说是网络的问题。
防火墙:引起该问题的原因是由于此时Server端连接已经被复位,而Client依然通过该连接在接收和发送数据,在网上搜索了一下 该错误,发现该错误引起的原因大都是防火墙的原因。
常出现的Connection reset by peer: 原因可能是多方面的,不过更常见的原因是:
①:服务器的并发连接数超过了其承载量,服务器会将其中一些连接Down掉;
②:客户关掉了浏览器,而服务器还在给客户端发送数据;
③:浏览器端按了Stop
通常原因为:远程主机上对等方应用程序突然停止运行,或远程主机重新启动,或远程主机在远程方套接字上使用了“强制”关闭 (参见setsockopt(SO_LINGER))。另外,在一个或多个操作正在进行时,如果连接因“keep-alive”活动检测到一个失败而中 断,也可能导致此错误。此时,正在进行的操作以错误码WSAENETRESET失败返回,后续操作将失败返回错误码WSAECONNRESET。
但是如果频繁出现,就表示很 多客户端连接到Apache服务器的响应时间太长了,可能是网络的问题或者服务器性能问题。
---
备注:如果平时运行得好好的一个程序,在后面用curl去访问时出现了上述范围,其一般来说是网络的问题。
防火墙:引起该问题的原因是由于此时Server端连接已经被复位,而Client依然通过该连接在接收和发送数据,在网上搜索了一下 该错误,发现该错误引起的原因大都是防火墙的原因。
php的filter扩展:在CentOS/RHEL5下安装PHP的filter和json扩展
Php/Js/Shell/Go jackxiang 2012-10-8 14:23
做为一个合格的web开发人员,一定会牢记一个原则——永远不能相信用户输入的数据,行走江湖,安全第一是很重要的。用户通过表单或url传过来的数据,一定要仔细检查过了,才往后台数据库里存进去。在一个成熟的开发团队里,贯彻这个原则不成问题;但是如果在一个新人老手混搭的小team里,很容易就忽视了这个问题,那么各种安全漏洞比如跨站攻击,sql注入等等真是防不胜防。
实际上,用php 5自带的filter扩展能够较好的解决这个问题。我在从前的blog里记录了filter扩展的常规用法——直接利用filter来校验数据,这样有不少额外的代码量,所以我得介绍一个比较偷懒的办法——自动对所有输入变量进行过滤,这只需要对php.ini增加一行配置,然后重启apache或fastcgi让php配置生效。
filter.default=”special_chars”
开启了这项配置后,会自动使用filter_input方法对$_GET, $_POST, $_COOKIE, $_REQUEST以及$_SERVER变量进行过滤转义。配置中special_chars是常量FILTER_SANITIZE_SPECIAL_CHARS的缩写,它能自动转义大部分危险字符例如: '"<>。而php手册对它的解释是:
HTML-escape ‘”<>& and characters with ASCII value less than 32, optionally strip or encode other special characters.
在这个情况下,新人们写出这样的代码我也不会太担心:
$foo = $_GET['foo'];
echo $foo;
在部分场合,我们可能还是需要未转义的变量,比如某个ajax接受的参数是一段json串,用这段代码即可获得原始数据:
$foo = filter_input (INPUT_GET, 'foo', FILTER_UNSAFE_RAW);
fitler扩展与yahoo使用的yiv如出一辙,印象里似乎就是yahoo对yiv做了些修改贡献给php社区,但是暂时没找到出处。
来自:http://www.ooso.net/archives/559
安装:http://blog.suchasplus.com/2008/11/centos-rhel-install-php-5-filter-and-json-extension-howto-chinese.html
【社区开学季】360提供的Php防注入代码,上面这个模块也就不用下面这些代码来防止注入了。
实际上,用php 5自带的filter扩展能够较好的解决这个问题。我在从前的blog里记录了filter扩展的常规用法——直接利用filter来校验数据,这样有不少额外的代码量,所以我得介绍一个比较偷懒的办法——自动对所有输入变量进行过滤,这只需要对php.ini增加一行配置,然后重启apache或fastcgi让php配置生效。
filter.default=”special_chars”
开启了这项配置后,会自动使用filter_input方法对$_GET, $_POST, $_COOKIE, $_REQUEST以及$_SERVER变量进行过滤转义。配置中special_chars是常量FILTER_SANITIZE_SPECIAL_CHARS的缩写,它能自动转义大部分危险字符例如: '"<>。而php手册对它的解释是:
HTML-escape ‘”<>& and characters with ASCII value less than 32, optionally strip or encode other special characters.
在这个情况下,新人们写出这样的代码我也不会太担心:
$foo = $_GET['foo'];
echo $foo;
在部分场合,我们可能还是需要未转义的变量,比如某个ajax接受的参数是一段json串,用这段代码即可获得原始数据:
$foo = filter_input (INPUT_GET, 'foo', FILTER_UNSAFE_RAW);
fitler扩展与yahoo使用的yiv如出一辙,印象里似乎就是yahoo对yiv做了些修改贡献给php社区,但是暂时没找到出处。
来自:http://www.ooso.net/archives/559
安装:http://blog.suchasplus.com/2008/11/centos-rhel-install-php-5-filter-and-json-extension-howto-chinese.html
【社区开学季】360提供的Php防注入代码,上面这个模块也就不用下面这些代码来防止注入了。
PHP的Fileinfo扩展
Php/Js/Shell/Go jackxiang 2012-10-8 14:21
PHP的Fileinfo扩展是libmagic库的一个封装,可以用来获得文件的一些信息,如MIME类型,可以用来更好地代替magic_mime扩展中的 mime_content_type()函数。本文介绍本人在Windows环境下使用Fileinfo扩展获得文件MIME类型的实现步骤:
到下载适合自己PHP版本的Fileinfo扩展到你的PHP扩展目录,即php.ini中由extension_dir指定的目录
将存放文件类型信息的magic和magic.mime两个文件放置到一个目录下,不妨设为E:\php\extras下。这两个文件在附件压缩包中,是我从GnuWin32的share文件夹中提取出来的。其中magic可以用apache的conf目录下的magic代替;PHP的extras文件夹也有一个magic.mime文件,但是用它的话fileinfo扩展无法正确工作,不能用来代替附件中的这个magic.mime
修改php.ini,加入这样一行:
extension=php_fileinfo.dll
之后重新启动web服务器,确认成功加载扩展之后进行下一步代码测试
新建一个php脚本文件,用如下代码进行测试
file($testFile);
?>
输出:application/msword
上述代码中$magicFile即为上述所提到的文件magic,必须保证magic.mime与magic两个文件放在同一个文件夹
到下载适合自己PHP版本的Fileinfo扩展到你的PHP扩展目录,即php.ini中由extension_dir指定的目录
将存放文件类型信息的magic和magic.mime两个文件放置到一个目录下,不妨设为E:\php\extras下。这两个文件在附件压缩包中,是我从GnuWin32的share文件夹中提取出来的。其中magic可以用apache的conf目录下的magic代替;PHP的extras文件夹也有一个magic.mime文件,但是用它的话fileinfo扩展无法正确工作,不能用来代替附件中的这个magic.mime
修改php.ini,加入这样一行:
extension=php_fileinfo.dll
之后重新启动web服务器,确认成功加载扩展之后进行下一步代码测试
新建一个php脚本文件,用如下代码进行测试
file($testFile);
?>
输出:application/msword
上述代码中$magicFile即为上述所提到的文件magic,必须保证magic.mime与magic两个文件放在同一个文件夹
PHP Tokenizer 的学习笔记_PHP教程
Php/Js/Shell/Go jackxiang 2012-10-8 14:17
简述
在某个项目中需要分析 PHP 代码,分离出对应的函数调用(以及源代码对应的位置)。虽然这使用正则也可以实现,但无论从效率还是代码复杂度方面考虑,这都不是最优的方式。
查询了 PHP 手册,发现其实 PHP 已经内置解析器的接口,那就是 PHP Tokenizer,这工具正是我想要的。使用 PHP Tokenizer 能简单、高效、准确的分析出 PHP 源代码的组成。
实例
官方站点对 Tokenizer 的文档很少,不过这不影响我们理解它。Tokenizer 组件仅仅包含两个函数:token_get_all 以及 token_name,它们分别用于分析 PHP 代码以及获取代码对应的标识符名称。
下面是个简单的实例,说明如何使用这两个函数:
以下为引用的内容:
对应的输出为
以下为引用的内容:
1 - T_OPEN_TAG <?php
1 - T_ECHO echo
1 - T_WHITESPACE
1 - T_CONSTANT_ENCAPSED_STRING "string1"
1 - T_CONSTANT_ENCAPSED_STRING "string2"
1 - T_WHITESPACE
1 - T_CLOSE_TAG ?>
这里顺便说明下,$token 如果为数组,那么分别对应的三个数组成员为 token 标识符(可以用 token_name 获得字面量)、对应的源代码内容、以及对应的行号。
还有中情况就是 $token 为字符串,这可能的情况之一就是为 T_CONSTANT_ENCAPSED_STRING 等常量,在分析代码时要注意。如果对这点很在意,可以考虑使用这里的代码。
是的,调用方式非常的简单,我们的野心当然远远要比写个简单的循环要大得多。我们可以利用这个组件做写实事,例如下面的代码用于“压缩” PHP 代码,去除不不要的换行、空白以及注释
以下为引用的内容:
调用方式很简单,只需要使用
以下为引用的内容:
CompactCode::compact($source_code);
即可,返回的字符串就是压缩以后的内容。
在某个项目中需要分析 PHP 代码,分离出对应的函数调用(以及源代码对应的位置)。虽然这使用正则也可以实现,但无论从效率还是代码复杂度方面考虑,这都不是最优的方式。
查询了 PHP 手册,发现其实 PHP 已经内置解析器的接口,那就是 PHP Tokenizer,这工具正是我想要的。使用 PHP Tokenizer 能简单、高效、准确的分析出 PHP 源代码的组成。
实例
官方站点对 Tokenizer 的文档很少,不过这不影响我们理解它。Tokenizer 组件仅仅包含两个函数:token_get_all 以及 token_name,它们分别用于分析 PHP 代码以及获取代码对应的标识符名称。
下面是个简单的实例,说明如何使用这两个函数:
以下为引用的内容:
对应的输出为
以下为引用的内容:
1 - T_OPEN_TAG <?php
1 - T_ECHO echo
1 - T_WHITESPACE
1 - T_CONSTANT_ENCAPSED_STRING "string1"
1 - T_CONSTANT_ENCAPSED_STRING "string2"
1 - T_WHITESPACE
1 - T_CLOSE_TAG ?>
这里顺便说明下,$token 如果为数组,那么分别对应的三个数组成员为 token 标识符(可以用 token_name 获得字面量)、对应的源代码内容、以及对应的行号。
还有中情况就是 $token 为字符串,这可能的情况之一就是为 T_CONSTANT_ENCAPSED_STRING 等常量,在分析代码时要注意。如果对这点很在意,可以考虑使用这里的代码。
是的,调用方式非常的简单,我们的野心当然远远要比写个简单的循环要大得多。我们可以利用这个组件做写实事,例如下面的代码用于“压缩” PHP 代码,去除不不要的换行、空白以及注释
以下为引用的内容:
调用方式很简单,只需要使用
以下为引用的内容:
CompactCode::compact($source_code);
即可,返回的字符串就是压缩以后的内容。
My set up ,必须要写明路径,否则认不到这个扩展在哪儿:
由于Zend新产品ZendGuardLoader的面世,Zend Optimizer已经不支持php5.3了,官方给出的版本是ZendGuardLoader代替,
zend optimizer是支持php5.2.x系列的!
zend Guard Loader是支持php5.3.x系列的!
也就是说,php5.3.x系列的版本优化引擎改为了zend Guard Loader。
ZendGuardLoader的安装还是和原版差不多的
下文的 php.ini(再php.ini 最后的地方加上) 文件根据实际情况修改成你服务器上的路径
[Zend Guard Loader]
zend_extension="E:\wamp\bin\zend\ZendGuardLoader-php-5.3-Windows\php-5.3.x\ZendLoader.dll"
重启。
HP 5.3 安装 Zend Guard Loader 说明
PHP 5.3 下,Zend Optimizer 已经被全新的 Zend Guard Loader 取代
------------------------------------------------
1. 下载 Zend Guard Loader 压缩包。(官方下载地址:http://www.zend.com/en/products/guard/downloads)
2. 解压并提取 ZendGuardLoader.so(Linux)或 ZendLoader.dll(Windows),对应你的PHP版本。
3. 在你的 php.ini 文件添加下面一行,用来加载 Zend Guard Loader:
Linux 和 Mac OS X: zend_extension = 完整路径/ZendGuardLoader.so
Windows(非线程安全): zend_extension = 完整路径/ZendLoader.dll
4. 在 php.ini 额外新增一行,启用 Zend Guard Loader:
zend_loader.enable = 1
5. 可选:可以在 php.ini 文件添加以下行到 Zend Guard Loader 配置位置:
;禁用许可证检查(为了性能的原因)
zend_loader.disable_licensing = 0
;让 Zend Guard Loader 支持混淆级别。级别在 Zend Guard 的官方详细文档。 0 - 不启用混淆
zend_loader.obfuscation_level_support = 3
;从这个路径寻找Zend产品授权的产品许可证。欲了解更多有关如何创建一个许可证文件的信息,请参阅 Zend Guard 用户指南.
zend_loader.license_path =
6. 如果您使用 Zend debugger,请确保加载 Zend guard Loader。
7. 如果您使用 ioncube loader,请务必在它之前加载 Zend guard Loader。
8. 重新启动Web服务器。
-------------------------------------------
转载请注明出处:http://hi.baidu.com/phpbuff/blog/item/2470f4d63fb58e3906088bb8.html
ea和zguard同时安装:
http://www.ithov.com/linux/107828_2.shtml
http://hi.baidu.com/cyzxlsf/item/05c413d1637091302a35c7dc
http://www.doc88.com/p-993593494490.html
DownLoad: http://www.zend.com/en/products/guard/downloads
由于Zend新产品ZendGuardLoader的面世,Zend Optimizer已经不支持php5.3了,官方给出的版本是ZendGuardLoader代替,
zend optimizer是支持php5.2.x系列的!
zend Guard Loader是支持php5.3.x系列的!
也就是说,php5.3.x系列的版本优化引擎改为了zend Guard Loader。
ZendGuardLoader的安装还是和原版差不多的
下文的 php.ini(再php.ini 最后的地方加上) 文件根据实际情况修改成你服务器上的路径
[Zend Guard Loader]
zend_extension="E:\wamp\bin\zend\ZendGuardLoader-php-5.3-Windows\php-5.3.x\ZendLoader.dll"
重启。
HP 5.3 安装 Zend Guard Loader 说明
PHP 5.3 下,Zend Optimizer 已经被全新的 Zend Guard Loader 取代
------------------------------------------------
1. 下载 Zend Guard Loader 压缩包。(官方下载地址:http://www.zend.com/en/products/guard/downloads)
2. 解压并提取 ZendGuardLoader.so(Linux)或 ZendLoader.dll(Windows),对应你的PHP版本。
3. 在你的 php.ini 文件添加下面一行,用来加载 Zend Guard Loader:
Linux 和 Mac OS X: zend_extension = 完整路径/ZendGuardLoader.so
Windows(非线程安全): zend_extension = 完整路径/ZendLoader.dll
4. 在 php.ini 额外新增一行,启用 Zend Guard Loader:
zend_loader.enable = 1
5. 可选:可以在 php.ini 文件添加以下行到 Zend Guard Loader 配置位置:
;禁用许可证检查(为了性能的原因)
zend_loader.disable_licensing = 0
;让 Zend Guard Loader 支持混淆级别。级别在 Zend Guard 的官方详细文档。 0 - 不启用混淆
zend_loader.obfuscation_level_support = 3
;从这个路径寻找Zend产品授权的产品许可证。欲了解更多有关如何创建一个许可证文件的信息,请参阅 Zend Guard 用户指南.
zend_loader.license_path =
6. 如果您使用 Zend debugger,请确保加载 Zend guard Loader。
7. 如果您使用 ioncube loader,请务必在它之前加载 Zend guard Loader。
8. 重新启动Web服务器。
-------------------------------------------
转载请注明出处:http://hi.baidu.com/phpbuff/blog/item/2470f4d63fb58e3906088bb8.html
ea和zguard同时安装:
http://www.ithov.com/linux/107828_2.shtml
http://hi.baidu.com/cyzxlsf/item/05c413d1637091302a35c7dc
http://www.doc88.com/p-993593494490.html
DownLoad: http://www.zend.com/en/products/guard/downloads
各种浏览器如何模拟在较低网速下对同一网页浏览的一个情况
Php/Js/Shell/Go jackxiang 2012-9-29 16:15
在做一些测试时,往往自己是搞开发的,网速还成,但是我们的用户会在偏远的山区,56K上网,为此,我们能保证我们看到的就是用户看到的么?当然不能,尤其是图片和css在一个较低的网速加载时会出现变形,图片加载时出现Load不进来,这一切都不是我们能预料的,为此,我们的网络是快,但我们的用户可能会用一个慢的网速来访问,会有各种情况,所以,我们必须和果模拟出这样一种情形,好提高我们的访问质量。
有同事推荐,NetLimiter这个软件,我是Win7,发现确实不怎么的,安都安不上,于是重启动了电脑,同事说是QQ电脑管家有一个这样的软件,So,我又没有安这个(当时安了做了下更新,后来就卸载了,不想让它更新Win7,再就是占用资源),在网上闲逛了一下,发现有一个这样的独立软件可以用,太好了,Url:http://www.huacolor.com/soft/59780.html 名字: 网络流量管理器 6.8.2383.401正式版(QQ电脑管家提取版).rar ,这个是个好玩意,呵呵,在此介绍给大家,至于怎么用,参考:http://www.duote.com/tech/5/14227.html
有同事推荐,NetLimiter这个软件,我是Win7,发现确实不怎么的,安都安不上,于是重启动了电脑,同事说是QQ电脑管家有一个这样的软件,So,我又没有安这个(当时安了做了下更新,后来就卸载了,不想让它更新Win7,再就是占用资源),在网上闲逛了一下,发现有一个这样的独立软件可以用,太好了,Url:http://www.huacolor.com/soft/59780.html 名字: 网络流量管理器 6.8.2383.401正式版(QQ电脑管家提取版).rar ,这个是个好玩意,呵呵,在此介绍给大家,至于怎么用,参考:http://www.duote.com/tech/5/14227.html
PHP类对象多重赋值,出现了很多个->的情况备案。
Php/Js/Shell/Go jackxiang 2012-9-28 17:59
PHP中类的对象经类的重重包含在找出一原先类里的某个变量时出现多次->的原因探究:
其之所以出现多个->,让人一看还真的蒙了,特别是给你看一段代码片段,蒙了,于是经过推敲后,得出如下代码:
其之所以出现多个->,让人一看还真的蒙了,特别是给你看一段代码片段,蒙了,于是经过推敲后,得出如下代码:
[上线用到]yuicompressor-2.4.2,js,css代码压缩。
Php/Js/Shell/Go jackxiang 2012-9-27 15:19
压缩会出现js错误最多的就是少分号,怎么解决避免的:
常看到一些大牛的JS源码 在function 前面加;
;function($,undefined) 是什么用处 ?
;(function($){$.extend($.fn...
现般在一些 JQuery 函数前面有分号
在前面加分号可以有多种用途:
1、防止多文件集成成一个文件后,高压缩出现语法错误。
2、这是一个匿名函数,一般js库都采用这种自执行的匿名函数来保护内部变量 (function(){})()
3、因为undefined是window的属性,声明为局部变量之后,在函数中如果再有变量与undefined作比较的话,程序就可以不用搜索undefined到window,可以提高程序性能
————————————————————————————————————————————————————
Yahoo!给我们带来了YUI compressor!
一.安装Java,配置环境变量。http://java.sun.com/javase/downloads/index.jsp
下载,安装,一路Next,没有任何问题,对了,你可以修改一下路径。
安装完毕以后,需要配置一下JAVA_HOME环境变量。
配置方法如下。
1、点击我的电脑—>属相—>高级—>环境变量—>系统变量
2、新建变量,变量名JAVA_HOME 路径:E:\Program Files\Java\jdk1.6.0_11 (我的是在E盘,你的JDK安装到那个盘,就写那个盘)
3、找到path变量,在后面添加路径:;%JAVA_HOME%\jre6\bin
OK,一路确定,关闭窗口。
打开CMD,输入java -version
看看能不能出来版本?
java version “1.6.0_11″
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)
二:直接调用包的执行代码:java -jar E:/Tool/yuicompressor/yuicompressor-2.4.2.jar E:/CMS.ContentPager.js -o E:/CMS.ContentPager-min.js --charset utf-8
三:压缩示例,压缩实现:
使用yuicompressor-2.4.2.jar对js文件进行压缩和输出。
示例如下:
Java -jar yuicompressor-2.4.2.jar public.js -o compress/public.js --charset=utf-8
命令说明:
1. java –jar 执行jar包内的主函数
2. public.js 将被压缩的原版JS文件
3. –o 压缩后输出 后面是输出文件路径
4. –charset 压缩文件的编码格式
四:实际运用时,要注意目录中有空格的情况,会出现:Unable to access jarfile D:/Program,要用双引号引起来即可。
cd D:\Program Files\yuicompressor
DownLoad:
参考(带文件下载):http://yekui.iteye.com/blog/819278
以上来自来自:
http://yui.github.io/yuicompressor/
在线web压缩:http://ganquan.info/yui/?hl=zh-CN
TBCompressor 基于YUICompressor的淘宝封装的css和js压缩工具(不用命令,直接合用的批处理工具):
http://www.jb51.net/softs/25860.html
描述实现方法:http://wenku.baidu.com/view/163a48f3770bf78a65295423.html
UI界面版本CSDN下载:http://download.csdn.net/download/tianqi520/1499680
Bat脚本实现批量压缩:http://www.cnblogs.com/heiniuhaha/archive/2011/06/15/YUI-Compressor.html
这个哥们写了一个,感觉界面不错利用YUI Compressor :
http://www.ninja911.com/blog/?p=345
-----------【相关下载】-----------
YUI Compressor [ http://yuilibrary.com/downloads/ ]
CSDN:NBCompressor_v1.2.0.2 附带 aauto ,利用YUI Compressor :
http://download.csdn.net/download/anto72/6328001
常看到一些大牛的JS源码 在function 前面加;
;function($,undefined) 是什么用处 ?
;(function($){$.extend($.fn...
现般在一些 JQuery 函数前面有分号
在前面加分号可以有多种用途:
1、防止多文件集成成一个文件后,高压缩出现语法错误。
2、这是一个匿名函数,一般js库都采用这种自执行的匿名函数来保护内部变量 (function(){})()
3、因为undefined是window的属性,声明为局部变量之后,在函数中如果再有变量与undefined作比较的话,程序就可以不用搜索undefined到window,可以提高程序性能
————————————————————————————————————————————————————
Yahoo!给我们带来了YUI compressor!
一.安装Java,配置环境变量。http://java.sun.com/javase/downloads/index.jsp
下载,安装,一路Next,没有任何问题,对了,你可以修改一下路径。
安装完毕以后,需要配置一下JAVA_HOME环境变量。
配置方法如下。
1、点击我的电脑—>属相—>高级—>环境变量—>系统变量
2、新建变量,变量名JAVA_HOME 路径:E:\Program Files\Java\jdk1.6.0_11 (我的是在E盘,你的JDK安装到那个盘,就写那个盘)
3、找到path变量,在后面添加路径:;%JAVA_HOME%\jre6\bin
OK,一路确定,关闭窗口。
打开CMD,输入java -version
看看能不能出来版本?
java version “1.6.0_11″
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)
二:直接调用包的执行代码:java -jar E:/Tool/yuicompressor/yuicompressor-2.4.2.jar E:/CMS.ContentPager.js -o E:/CMS.ContentPager-min.js --charset utf-8
三:压缩示例,压缩实现:
使用yuicompressor-2.4.2.jar对js文件进行压缩和输出。
示例如下:
Java -jar yuicompressor-2.4.2.jar public.js -o compress/public.js --charset=utf-8
命令说明:
1. java –jar 执行jar包内的主函数
2. public.js 将被压缩的原版JS文件
3. –o 压缩后输出 后面是输出文件路径
4. –charset 压缩文件的编码格式
四:实际运用时,要注意目录中有空格的情况,会出现:Unable to access jarfile D:/Program,要用双引号引起来即可。
cd D:\Program Files\yuicompressor
DownLoad:
下载文件
参考(带文件下载):http://yekui.iteye.com/blog/819278
以上来自来自:
http://yui.github.io/yuicompressor/
在线web压缩:http://ganquan.info/yui/?hl=zh-CN
TBCompressor 基于YUICompressor的淘宝封装的css和js压缩工具(不用命令,直接合用的批处理工具):
http://www.jb51.net/softs/25860.html
描述实现方法:http://wenku.baidu.com/view/163a48f3770bf78a65295423.html
UI界面版本CSDN下载:http://download.csdn.net/download/tianqi520/1499680
Bat脚本实现批量压缩:http://www.cnblogs.com/heiniuhaha/archive/2011/06/15/YUI-Compressor.html
这个哥们写了一个,感觉界面不错利用YUI Compressor :
http://www.ninja911.com/blog/?p=345
-----------【相关下载】-----------
YUI Compressor [ http://yuilibrary.com/downloads/ ]
CSDN:NBCompressor_v1.2.0.2 附带 aauto ,利用YUI Compressor :
http://download.csdn.net/download/anto72/6328001
json文件格式的查询工具
Php/Js/Shell/Go jackxiang 2012-9-26 11:03
前一阶段开发ios手机程序,客户端和服务器端主要通过json传输数据内容。从服务器端返回来的数据内容是json格式,查看很不方便,因此在网上找到如下的查询工具,方便查询。
我们知道Json是一种特殊Javascript对象,介绍几个Json查看工具。
http://jsonviewer.codeplex.com/
.Net开发的Json查看器,可反编译查看源码,呵呵。
https://addons.mozilla.org/en-us/firefox/addon/jsonview/
火狐的Json查看器插件,可在火狐中打开Json内容查看
https://chrome.google.com/extensions/detail/chklaanhfefbnpoihckbnefhakgolnmc
谷歌浏览器的Json查看器插件,功能同上
http://jsonviewer.stack.hu/
本文来自:http://blog.csdn.net/z343929897/article/details/8009106
最后,我自己的工具:http://tools.jackxiang.com/ 里面有一个Json编辑器。
我们知道Json是一种特殊Javascript对象,介绍几个Json查看工具。
http://jsonviewer.codeplex.com/
.Net开发的Json查看器,可反编译查看源码,呵呵。
https://addons.mozilla.org/en-us/firefox/addon/jsonview/
火狐的Json查看器插件,可在火狐中打开Json内容查看
https://chrome.google.com/extensions/detail/chklaanhfefbnpoihckbnefhakgolnmc
谷歌浏览器的Json查看器插件,功能同上
http://jsonviewer.stack.hu/
本文来自:http://blog.csdn.net/z343929897/article/details/8009106
最后,我自己的工具:http://tools.jackxiang.com/ 里面有一个Json编辑器。
陈永仁跟黄警司 在一个房顶见面。
黄:光伤人你已经被抓多少次了?我想尽办法跟律政司说你心理有问题,叫你看心理医生,你还到处打人,难道你真的心理变态?你忘了自己是好人还是坏人?
陈永仁回忆,自己从警校到当卧底之中的事情。
陈:明明三年,三年后又三年,三年后又三年,差不多十年了,老大
黄:你对我态度好点行不行?现在全香港只有我知道你的身份,我干脆回去洗掉你的档案,你一辈子干黑社会大家都不用烦。
陈:天天提醒自己是个警察,做梦时也要喊“放下枪,我是警察”这样?
黄:韩琛什么时候进货?
陈:不知道 这个星期内
黄:什么?
陈:这个星期之内 泰国佬已经来了 韩琛收了这批货就会买给别人
黄:货仓在哪里?
陈:我怎么知道货仓在哪里?我才跟了他三年而已
黄:行了做完这次就退休
又一个无间道:
渐渐接近真相了:小弟暗恋大哥的女人,女人让小弟杀掉仇家,小弟犯怂,女人亲自动手,并且告诉了小弟,小弟表示善后,但是留了一手,女人知道后很生气,于是跟小弟闹别扭,小弟认为女人不爱他了,嫉妒心生,向大哥告发女人,大哥不相信小弟,于是打了小弟一巴掌,没想一巴掌打出了一个叛徒,小弟叛徒了
黄:光伤人你已经被抓多少次了?我想尽办法跟律政司说你心理有问题,叫你看心理医生,你还到处打人,难道你真的心理变态?你忘了自己是好人还是坏人?
陈永仁回忆,自己从警校到当卧底之中的事情。
陈:明明三年,三年后又三年,三年后又三年,差不多十年了,老大
黄:你对我态度好点行不行?现在全香港只有我知道你的身份,我干脆回去洗掉你的档案,你一辈子干黑社会大家都不用烦。
陈:天天提醒自己是个警察,做梦时也要喊“放下枪,我是警察”这样?
黄:韩琛什么时候进货?
陈:不知道 这个星期内
黄:什么?
陈:这个星期之内 泰国佬已经来了 韩琛收了这批货就会买给别人
黄:货仓在哪里?
陈:我怎么知道货仓在哪里?我才跟了他三年而已
黄:行了做完这次就退休
又一个无间道:
渐渐接近真相了:小弟暗恋大哥的女人,女人让小弟杀掉仇家,小弟犯怂,女人亲自动手,并且告诉了小弟,小弟表示善后,但是留了一手,女人知道后很生气,于是跟小弟闹别扭,小弟认为女人不爱他了,嫉妒心生,向大哥告发女人,大哥不相信小弟,于是打了小弟一巴掌,没想一巴掌打出了一个叛徒,小弟叛徒了
一本全面的Node.js教程及node.js和php性能测试。
Php/Js/Shell/Go jackxiang 2012-9-26 09:51
这书花了两个小时看了一下,这门子语言简单,且实用,就像是搭建积木一样,呵呵,异步等是它的亮点,但PHP+Nginx也有类似的处理,该书Url:
http://www.nodebeginner.org/index-zh-cn.html#a-basic-http-server
再就是node.js和php性能测试 :
http://www.jiangmiao.org/blog/2491.html
http://snoopyxdy.blog.163.com/blog/static/60117440201183101319257/
后记:
Node.js并不适合需要与用户实时交互的系统;它适合集中处理用户发来的大规模“指令”,即不需要及时看到结果的请求。比如微博系统,用户发表一条微博,可能需要在服务器上排队1分钟才能最终保存到数据库。在这一分钟里,用户更多地是看看别人发表的微博,并不十分迫切地想看到自己那条微博。如果希望有更好的体验,其实可以用DOM直接把用户发表的微博先更新到当前页面,同时使用Ajax异步请求保存这条数据。
node作为一种新型的服务器语言从被认可,到广泛用于生产环境要走的路还很长。
个人总结:
node适用小型/单一的任务型应用,具备高效率的特性,例如计数器/访问足迹/comment等高并发ajax操作,结合缓存/nosql和队列是个不错的选择;但做完整项目可能略显复杂,容易导致控制流倒置。
人生苦短, Pythonic! 冗余不做,日子甭过!备份不做,十恶不赦!
http://www.nodebeginner.org/index-zh-cn.html#a-basic-http-server
再就是node.js和php性能测试 :
http://www.jiangmiao.org/blog/2491.html
http://snoopyxdy.blog.163.com/blog/static/60117440201183101319257/
后记:
Node.js并不适合需要与用户实时交互的系统;它适合集中处理用户发来的大规模“指令”,即不需要及时看到结果的请求。比如微博系统,用户发表一条微博,可能需要在服务器上排队1分钟才能最终保存到数据库。在这一分钟里,用户更多地是看看别人发表的微博,并不十分迫切地想看到自己那条微博。如果希望有更好的体验,其实可以用DOM直接把用户发表的微博先更新到当前页面,同时使用Ajax异步请求保存这条数据。
node作为一种新型的服务器语言从被认可,到广泛用于生产环境要走的路还很长。
个人总结:
node适用小型/单一的任务型应用,具备高效率的特性,例如计数器/访问足迹/comment等高并发ajax操作,结合缓存/nosql和队列是个不错的选择;但做完整项目可能略显复杂,容易导致控制流倒置。
人生苦短, Pythonic! 冗余不做,日子甭过!备份不做,十恶不赦!
jQuery链式语法 用js生成页面 并且响应click事件
Php/Js/Shell/Go jackxiang 2012-9-26 09:37
里面的End用法参看:http://www.jackxiang.com/post/4763/
阅读全文
阅读全文
因为水到胃里也学需要能量来消化,可这时人已 经很疲惫了,不能再增加他的负担了,只能静脉 输液补充营养了。失血吧 机体有自动处理系统,需要h2o。
是这样的,大出血以后,体液不足,口渴是正常的失血过多哦不要喝水,静脉滴注500毫升盐
受重伤后看伤员失血的多少,要是失血过多是不能 喝水的, 负伤后失血过多,如喝水会稀释血液,会使血液中 细胞内外的浓度不同.可以造成你血液中细胞的变 化,可以导致很多的病变.,损失血液的功能,引起不 必要的麻烦.轻者伤势加重,重者造成死亡,所以不 能喝水,但少量地喝生理食盐水是可以的,也就是 含9%氯化钠的水。
是这样的,大出血以后,体液不足,口渴是正常的失血过多哦不要喝水,静脉滴注500毫升盐
受重伤后看伤员失血的多少,要是失血过多是不能 喝水的, 负伤后失血过多,如喝水会稀释血液,会使血液中 细胞内外的浓度不同.可以造成你血液中细胞的变 化,可以导致很多的病变.,损失血液的功能,引起不 必要的麻烦.轻者伤势加重,重者造成死亡,所以不 能喝水,但少量地喝生理食盐水是可以的,也就是 含9%氯化钠的水。