eAccelerator 是一个免费开源的PHP加速、优化、编译和动态缓存的项目,它可以通过缓存PHP代码编译后的结果来提高PHP脚本的性能,使得一向很复杂和离我们很远的PHP脚本编译问题完全得到解决。通过使用eAccelerator,可以优化你的PHP代码执行速度,降低服务器负载,可以提高PHP应用执行速度最高达10倍。
eAccelerator 项目诞生于2004年,当时它是作为 Turck MMCache 项目的一个分支提出并投入开发的。 Turck MMCache 由 Dmitry Stogov 开发,是个非常优秀的PHP内存缓存加速系统,如今仍然有很大部分 eAccelerator 的代码应用到该项目中,目前该项目有很长时间没有更新了,对于最新的PHP5.x的支持还未推出。
eAccelerator 通过把经过编译后的PHP代码缓存到共享内存中,并在用户访问的时候直接调用从而起到高效的加速作用。它的效率非常高,从创建共享内存到查找编译后的代码都在非常短的时间内完成,对于不能缓存到共享内存中的文件和代码,eAccelerator还可以把他们缓存到系统磁盘上。
eAccelerator 同样还支持PHP代码的编译和解释执行,你可以通过encoder.php脚本来对php代码进行编译达到保护代码的目的,经过编译后的代码必须运行在安装了eAccelerator的环境下。eAccelerator编译后的代码不能被反编译,它不象其他一些编译工具那样可以进行反编译,这将使得代码更加安全和高效。
参考:http://blog.lixiphp.com/centos-configuration-php-eaccelerator/
FreeBSD:(老乡的博客)
前一段时间完成了服务器从FreeBSD4.10到6.1的升级,同时把PHP也升级到了最新的PHP5.1.4,Apache也升级到了最新的Apache2.2,为了更好的提高系统的性能,考虑对PHP再进行一些优化,前两年接触过MMCache和eAccelerator,尤其对eAccelerator非常喜欢,这次优化也选择了它,下面整理一些文档和大家分享。
参考:
http://www.toplee.com/blog/100.html
我从来不写文章,是IT届里的搬运工,呵呵,农夫山泉,有点甜!!!
eAccelerator 项目诞生于2004年,当时它是作为 Turck MMCache 项目的一个分支提出并投入开发的。 Turck MMCache 由 Dmitry Stogov 开发,是个非常优秀的PHP内存缓存加速系统,如今仍然有很大部分 eAccelerator 的代码应用到该项目中,目前该项目有很长时间没有更新了,对于最新的PHP5.x的支持还未推出。
eAccelerator 通过把经过编译后的PHP代码缓存到共享内存中,并在用户访问的时候直接调用从而起到高效的加速作用。它的效率非常高,从创建共享内存到查找编译后的代码都在非常短的时间内完成,对于不能缓存到共享内存中的文件和代码,eAccelerator还可以把他们缓存到系统磁盘上。
eAccelerator 同样还支持PHP代码的编译和解释执行,你可以通过encoder.php脚本来对php代码进行编译达到保护代码的目的,经过编译后的代码必须运行在安装了eAccelerator的环境下。eAccelerator编译后的代码不能被反编译,它不象其他一些编译工具那样可以进行反编译,这将使得代码更加安全和高效。
参考:http://blog.lixiphp.com/centos-configuration-php-eaccelerator/
FreeBSD:(老乡的博客)
前一段时间完成了服务器从FreeBSD4.10到6.1的升级,同时把PHP也升级到了最新的PHP5.1.4,Apache也升级到了最新的Apache2.2,为了更好的提高系统的性能,考虑对PHP再进行一些优化,前两年接触过MMCache和eAccelerator,尤其对eAccelerator非常喜欢,这次优化也选择了它,下面整理一些文档和大家分享。
参考:
http://www.toplee.com/blog/100.html
我从来不写文章,是IT届里的搬运工,呵呵,农夫山泉,有点甜!!!
【from: Learning the bash shell】
用户主目录下的这些文件对bash有特殊含义。它们在用户登录或调用另一bash shell时给出了一种自动建立其登录帐号环境的方式,并允许退出时执行各种命令。这些文件存在于用户主目录下,其外置依赖于系统管理员对用户帐号的设置。如果这些文件不存在,用户登录使用默认系统文件/etc/profie。可以使用流行的文本编辑器轻易的创建自己的bash文件。
最重要的bash文件是.bash_profile,它在用户每次登录到系统时被读取,其中包含的命令被bash执行。如果查看一下自己的.bash_profile,可能会发现类似下面的行:
这些行定义了用户登录帐号的基本环境,在已存在行的后面可以编辑自己的.bash_profile,直到退出再次登录,该文件被重新读取后,.bash_profile中键入的内容才会生效。可以使用source命令或者匿名命令(.),如:source .bash_profile、. .bash_profile。
bash允许有.bash_profile的两个同义文件:来源于C shell的.login的.bash_login以及来源于Bourne shell和Korn shell文件的.profile的.profile。登录时三者中只有一个被读取,如果用户根目录下.bash_profile不存在,则bash查找.bash_login,如果它不存在,则查找.profile。
bash查找这些同义文件的好处是,如果曾经用过Bourne shell,你可以保留它,如果需要加入特定的bash命令,可以将它们放入.bash_profile中并在后面跟一条命令source .profile。登录时,所有特定的bash命令均被执行,然后bash将会调用.profile,执行其保留的命令。即使决定仍使用Bourne shell,也不必修改已存在的文件,类似的方法也可以用于.bash_login和C shell的.login,但由于这些shell基本语法的差异性,这不是一个好主意。
.bash_profile只被登录shell读取并执行。如果你通过在命令行上键入bash启动一个新的shell,他就会试图读取.bashrc中的命令。这种策略给出将登录是需要的启动命令和运行一个子shell所需的命令分离开的灵活性。如果你需要在登录shell和启动子shell命令是进行一样的操作,可以在.bash_profile中使用source命令执行.bashrc。如果.bashrc不存在,那么启动一个子shell时就没有命令被执行。
文件.bash_logout在每次登录shell退出时被读取并执行。它提供了定制用户环境的功能。如果要执行诸如删除帐号内临时文件或记录登录系统所花时间命令,则可将这些命令放在.bash_logout内。该文件不必一定存在与帐号内,如果不存在,退出时不再执行其他命令。
来源:http://hi.baidu.com/hongszh/blog/item/76d9885094a107618435242d.html
用户主目录下的这些文件对bash有特殊含义。它们在用户登录或调用另一bash shell时给出了一种自动建立其登录帐号环境的方式,并允许退出时执行各种命令。这些文件存在于用户主目录下,其外置依赖于系统管理员对用户帐号的设置。如果这些文件不存在,用户登录使用默认系统文件/etc/profie。可以使用流行的文本编辑器轻易的创建自己的bash文件。
最重要的bash文件是.bash_profile,它在用户每次登录到系统时被读取,其中包含的命令被bash执行。如果查看一下自己的.bash_profile,可能会发现类似下面的行:
这些行定义了用户登录帐号的基本环境,在已存在行的后面可以编辑自己的.bash_profile,直到退出再次登录,该文件被重新读取后,.bash_profile中键入的内容才会生效。可以使用source命令或者匿名命令(.),如:source .bash_profile、. .bash_profile。
bash允许有.bash_profile的两个同义文件:来源于C shell的.login的.bash_login以及来源于Bourne shell和Korn shell文件的.profile的.profile。登录时三者中只有一个被读取,如果用户根目录下.bash_profile不存在,则bash查找.bash_login,如果它不存在,则查找.profile。
bash查找这些同义文件的好处是,如果曾经用过Bourne shell,你可以保留它,如果需要加入特定的bash命令,可以将它们放入.bash_profile中并在后面跟一条命令source .profile。登录时,所有特定的bash命令均被执行,然后bash将会调用.profile,执行其保留的命令。即使决定仍使用Bourne shell,也不必修改已存在的文件,类似的方法也可以用于.bash_login和C shell的.login,但由于这些shell基本语法的差异性,这不是一个好主意。
.bash_profile只被登录shell读取并执行。如果你通过在命令行上键入bash启动一个新的shell,他就会试图读取.bashrc中的命令。这种策略给出将登录是需要的启动命令和运行一个子shell所需的命令分离开的灵活性。如果你需要在登录shell和启动子shell命令是进行一样的操作,可以在.bash_profile中使用source命令执行.bashrc。如果.bashrc不存在,那么启动一个子shell时就没有命令被执行。
文件.bash_logout在每次登录shell退出时被读取并执行。它提供了定制用户环境的功能。如果要执行诸如删除帐号内临时文件或记录登录系统所花时间命令,则可将这些命令放在.bash_logout内。该文件不必一定存在与帐号内,如果不存在,退出时不再执行其他命令。
来源:http://hi.baidu.com/hongszh/blog/item/76d9885094a107618435242d.html
nc -z -w 10 %IP% %PORT%
拷贝文件看这儿:
[实践OK]linux nc命令传输文件(远程复制文件,传文件。),linux快速复制大量小文件方法 nc+tar。 https://jackxiang.com/post/9566/
================================================================================
一、先侦听端口:
nc -l 443
GET / HTTP/1.1
Host: 115.182.218.98:443
User-Agent: curl/7.49.1
Accept: */*
二、再在Windows下面用Git的bashshell下Curl访问:
curl "115.182.21*.108:443"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0
一步里面就用的GET头产生,nc就会立即退出。
=================================================
nc -lk 9503
Linux可以使用nc命令来测试网络端口是否正常,类似于telnet命令,但也可以用nc命令来监听本地端口,支持TCP、UDP协议,当我们测试NTP服务网络策略是否正常时,可以使用到nc命令测试UDP 123端口。
使用案例如下:
1、测试TCP端口
nc -vz ip tcp-port
2、测试UDP
nc -uvz ip udp-port
3、临时监听TCP端口
nc -l port
4、永久监听TCP端口
nc -lk port
5、临时监听UDP
nc -lu port
6、永久监听UDP
nc -luk port
说明:默认监听的都是TCP端口
来自:https://baohua.me/operating-system/linux/linux-use-mc-command-permanent-listen-local-port/
这个很简单,监听80端口如果机器上运行这个命令,端口80被认为是开放的,可以欺骗很多扫描器的哦!
阅读全文
拷贝文件看这儿:
[实践OK]linux nc命令传输文件(远程复制文件,传文件。),linux快速复制大量小文件方法 nc+tar。 https://jackxiang.com/post/9566/
================================================================================
一、先侦听端口:
nc -l 443
GET / HTTP/1.1
Host: 115.182.218.98:443
User-Agent: curl/7.49.1
Accept: */*
二、再在Windows下面用Git的bashshell下Curl访问:
curl "115.182.21*.108:443"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0
一步里面就用的GET头产生,nc就会立即退出。
=================================================
nc -lk 9503
Linux可以使用nc命令来测试网络端口是否正常,类似于telnet命令,但也可以用nc命令来监听本地端口,支持TCP、UDP协议,当我们测试NTP服务网络策略是否正常时,可以使用到nc命令测试UDP 123端口。
使用案例如下:
1、测试TCP端口
nc -vz ip tcp-port
2、测试UDP
nc -uvz ip udp-port
3、临时监听TCP端口
nc -l port
4、永久监听TCP端口
nc -lk port
5、临时监听UDP
nc -lu port
6、永久监听UDP
nc -luk port
说明:默认监听的都是TCP端口
来自:https://baohua.me/operating-system/linux/linux-use-mc-command-permanent-listen-local-port/
这个很简单,监听80端口如果机器上运行这个命令,端口80被认为是开放的,可以欺骗很多扫描器的哦!
nc -l -p 80 > e:/log.dat
阅读全文
——在360新员工入职培训上的讲话阅读全文
一)find查找N天前的文件:
#redis 同步后的temp 临时文件超过两天时间删除处理,减少磁盘空间。
1 0 * * * find /data/ -mtime +2 -name "temp-*.rdb"|xargs rm -rf
距离现在2天以前就是用+2!
贴了上来方便大家使用,会的同学就飘过吧 不会的就留个脚印。
每五分钟执行 */5 * * * *
每小时执行 0 * * * *
每天执行 0 0 * * *
每周执行 0 0 * * 0
每月执行 0 0 1 * *
每年执行 0 0 1 1 *
二)ind查找N天前的文件
查找1天前(包括1天)的accessTime,atime是指access time,即文件被读取或者执行的时间,修改文件是不会改变access time的文件:
大于50M的文件:
find /data/htdocs/xiyou.cntv.cn/data/logs/ -size +700M -name "Remote-20*.log"
每个月删除这一个月前的文件:
Linux中清理磁盘空间时,经常需要找出大于200M的文件,然后删除。
这个命令可以实现这个功能:
find / -size +200M -exec du -h {} \;
find . -type f -size +1000000k
定位在home下就可以了
要是还不行就试试du -h | grep [100-999]M
如何用find命令查找目录中文件大小大于1MB日文件
find / -size +2 -print
参考:http://friendlysong.blog.163.com/blog/static/3225243920119142325417/
删除当前文件夹下字节数为 37154字节的html文件
_______________删除10天以来没有修改的文件_______________________
(1)删除10天以来没有修改的文件,经常使用的短小精悍又不失效率的命令隆重出场ing:
(2)find /data/***/logs -mtime +30 //查找30天里没有被修改的文件
其实这个命令中主要用到了find命令的-ctime参数和-exec。聪明的你一定能想到了使用!
参数介绍
-size N[bcwkMG] -size<文件大小> 查找符合指定的文件大小的文件。
-exec COMMAND {} + -ok COMMAND ; 假设find指令的回传值为True,就执行该指令。
转载自: 月影鹏鹏 [http://jk.scanmon.com]
-type
查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。
-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
-fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
-mount:在查找文件时不跨越文件系统mount点。
-follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
-cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。
#redis 同步后的temp 临时文件超过两天时间删除处理,减少磁盘空间。
1 0 * * * find /data/ -mtime +2 -name "temp-*.rdb"|xargs rm -rf
距离现在2天以前就是用+2!
贴了上来方便大家使用,会的同学就飘过吧 不会的就留个脚印。
每五分钟执行 */5 * * * *
每小时执行 0 * * * *
每天执行 0 0 * * *
每周执行 0 0 * * 0
每月执行 0 0 1 * *
每年执行 0 0 1 1 *
二)ind查找N天前的文件
查找1天前(包括1天)的accessTime,atime是指access time,即文件被读取或者执行的时间,修改文件是不会改变access time的文件:
大于50M的文件:
find /data/htdocs/xiyou.cntv.cn/data/logs/ -size +700M -name "Remote-20*.log"
每个月删除这一个月前的文件:
Linux中清理磁盘空间时,经常需要找出大于200M的文件,然后删除。
这个命令可以实现这个功能:
find / -size +200M -exec du -h {} \;
find . -type f -size +1000000k
定位在home下就可以了
要是还不行就试试du -h | grep [100-999]M
如何用find命令查找目录中文件大小大于1MB日文件
find / -size +2 -print
参考:http://friendlysong.blog.163.com/blog/static/3225243920119142325417/
删除当前文件夹下字节数为 37154字节的html文件
_______________删除10天以来没有修改的文件_______________________
(1)删除10天以来没有修改的文件,经常使用的短小精悍又不失效率的命令隆重出场ing:
(2)find /data/***/logs -mtime +30 //查找30天里没有被修改的文件
其实这个命令中主要用到了find命令的-ctime参数和-exec。聪明的你一定能想到了使用!
参数介绍
-size N[bcwkMG] -size<文件大小> 查找符合指定的文件大小的文件。
-exec COMMAND {} + -ok COMMAND ; 假设find指令的回传值为True,就执行该指令。
转载自: 月影鹏鹏 [http://jk.scanmon.com]
find . -type d -name "cache"
find . -type f -name "a.txt"
/home/jackxiang# find . -type f -name "*.txt"
./a.txt
./a.txt
-type
查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。
-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
-fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
-mount:在查找文件时不跨越文件系统mount点。
-follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
-cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。
http://www.soft82.com/download/Windows/Zend_Studio
DownloadUrl:
http://downloads.zend.com/studio-eclipse/7.2.1/ZendStudio-7.2.1.exe
DownloadUrl:
http://downloads.zend.com/studio-eclipse/7.2.1/ZendStudio-7.2.1.exe
Bin-log时间主要看文件时间,可以直接: /usr/local/mysql/bin/mysqlbinlog /data/mysql/3306/mysql-bin.000197 | less ,报错则将/etc/my.cnf里的MysqlClient里的Charset干掉即可。ll -h *,查看大小。
出现问题:/usr/local/mysql/bin/mysqlbinlog /data/mysql/3306/mysql-bin.000197 --database=newbbs > /tmp/000197.sql
mysqlbinlog: [ERROR] unknown variable 'default-character-set=utf8' 怎么办?
vi /etc/my.cnf把那个
[client]
[client]
default-character-set = utf8 #删除这行即可,不用下文的重启Mysql服务器@ https://www.cnblogs.com/cobbliu/p/4311926.html
----------------------------------------------------------------------------------------------------------------------------------------------------------
如何看Bin-log里的SQL产生的时间范围?
-------------------------------------------------------------------------------------
问:兄弟们,
有没有mysql同步出现延迟看哪些sql正在执行的方法?
我这边听说同步20分钟的延迟了。
答:是否进程太多了啊
记得原来抢码时出现过同步延迟
但20分钟不大可能吧,已经超出最长设定了
要么就是你现在的进程已经互锁了,导致mysql已经僵死了
————————————————————————————————————————————————————————————————————
同步延迟一般是正在执行的event的IO问题, 现在的DBA只要不是小白, 都不会采用SQL同步了
/usr/local/mysql/bin/mysqlbinlog ./mysql-bin.000001 --start-datetime="2015-06-14 00:00:00" --stop-datetime="2015-06-16 17:00:00" --result-file=./test2.sql
————————————————————————————
例如我需要查看mysql 在2010-05-21 06:00:00——2010-05-21 07:00:00期间的binlog (sql 格式)
mysqlbinlog --start-datetime="2010-05-21 06:00:00" --stop-datetime="2010-05-21 07:00:00" mysql-bin.000011 > mybinlog.sql
mysqlbinlog参数说明:
---database=db_name,-d db_name
只列出该数据库的条目(只用本地日志)。
–result-file=name, -r name
将输出指向给定的文件。
-r, --result-file=name
Direct output to a given file. With --raw this is a
prefix for the file names.
———————————————————————————————————————————————
1)为了帮助网友解决“mysql,使用mysqlbinlog查看日志的问题,具体解决方案如下:
mysqlbinlog mysql-bin.00005 --startdatetime='时间' --stopdatetime='时间' --database=DB_name
2)mysql_home/bin有个mysqlbinlog工具可以查看mysql二进制日志
mysql_install_path/bin/mysqlbinlog --start-datetime="2011-12-16 16:00:00" --stop-datetime="2011-12-16 17:00:00" --result-file=/mysql-bin.000001.log --database=name=test mysql-bin.000001
转载 [原创]使用 MYSQLBINLOG 来恢复数据:
http://blog.chinaunix.net/uid-259788-id-2139251.html?page=2
mysqlbinlog二进制日志查看工具 :
http://blog.itpub.net/7970627/viewspace-718277/
阅读全文
出现问题:/usr/local/mysql/bin/mysqlbinlog /data/mysql/3306/mysql-bin.000197 --database=newbbs > /tmp/000197.sql
mysqlbinlog: [ERROR] unknown variable 'default-character-set=utf8' 怎么办?
vi /etc/my.cnf把那个
[client]
[client]
default-character-set = utf8 #删除这行即可,不用下文的重启Mysql服务器@ https://www.cnblogs.com/cobbliu/p/4311926.html
----------------------------------------------------------------------------------------------------------------------------------------------------------
如何看Bin-log里的SQL产生的时间范围?
-------------------------------------------------------------------------------------
问:兄弟们,
有没有mysql同步出现延迟看哪些sql正在执行的方法?
我这边听说同步20分钟的延迟了。
答:是否进程太多了啊
记得原来抢码时出现过同步延迟
但20分钟不大可能吧,已经超出最长设定了
要么就是你现在的进程已经互锁了,导致mysql已经僵死了
————————————————————————————————————————————————————————————————————
同步延迟一般是正在执行的event的IO问题, 现在的DBA只要不是小白, 都不会采用SQL同步了
/usr/local/mysql/bin/mysqlbinlog ./mysql-bin.000001 --start-datetime="2015-06-14 00:00:00" --stop-datetime="2015-06-16 17:00:00" --result-file=./test2.sql
————————————————————————————
例如我需要查看mysql 在2010-05-21 06:00:00——2010-05-21 07:00:00期间的binlog (sql 格式)
mysqlbinlog --start-datetime="2010-05-21 06:00:00" --stop-datetime="2010-05-21 07:00:00" mysql-bin.000011 > mybinlog.sql
mysqlbinlog参数说明:
---database=db_name,-d db_name
只列出该数据库的条目(只用本地日志)。
–result-file=name, -r name
将输出指向给定的文件。
-r, --result-file=name
Direct output to a given file. With --raw this is a
prefix for the file names.
———————————————————————————————————————————————
1)为了帮助网友解决“mysql,使用mysqlbinlog查看日志的问题,具体解决方案如下:
mysqlbinlog mysql-bin.00005 --startdatetime='时间' --stopdatetime='时间' --database=DB_name
2)mysql_home/bin有个mysqlbinlog工具可以查看mysql二进制日志
mysql_install_path/bin/mysqlbinlog --start-datetime="2011-12-16 16:00:00" --stop-datetime="2011-12-16 17:00:00" --result-file=/mysql-bin.000001.log --database=name=test mysql-bin.000001
转载 [原创]使用 MYSQLBINLOG 来恢复数据:
http://blog.chinaunix.net/uid-259788-id-2139251.html?page=2
mysqlbinlog二进制日志查看工具 :
http://blog.itpub.net/7970627/viewspace-718277/
阅读全文
关于服务器不支持allow_url_fopen的问题:
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
; http://php.net/allow-url-fopen
allow_url_fopen = On
检查:
allow_url_include是很正常的,因为如果允许的话会非常不安全,但是allow_url_fopen是需要打开的,否则file_get_contents()和file()函数只能获取服务器本地磁盘的文件,不能获取URL
阅读全文
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
; http://php.net/allow-url-fopen
allow_url_fopen = On
检查:
allow_url_include是很正常的,因为如果允许的话会非常不安全,但是allow_url_fopen是需要打开的,否则file_get_contents()和file()函数只能获取服务器本地磁盘的文件,不能获取URL
阅读全文
root@AD38_30_sles10:/home/jackxiang/memcache_c_code# make
makefile:1: ../makefile.comm: No such file or directory
makefile:8: *** missing separator (did you mean TAB instead of 8 spaces?). Stop.
makefile:1: ../makefile.comm: No such file or directory
makefile:8: *** missing separator (did you mean TAB instead of 8 spaces?). Stop.
添加一行 set tabstop=4 "4就是你设置的TAB键的长度了,这里用的不是很多文章说的shiftwidth!
vi和vim的配置文件是同一个: /etc/vim/vimrc(或者/usr/share/vim/vimrc,其实指向同一个文件,不同的系统可能会有不同的路径,可以用find找到)
我的在:
vi /etc/vimrc
makefile缩进的问题得到解决!
————————————————————————————————————————————
实在是因为写PHP是4个空格的话,可以用sz到windows下,用editplus来修改后,再rz上去也成。
这块在vi下,是tab和空格,显示出来的字体颜色不一样的,靠这个来判断也能知道是分割符问题~
<?PHP
//今天与2009年1月1日相差多少天
$Date_1=date("Y-m-d");
$Date_2="2009-1-1";
$d1=strtotime($Date_1);
$d2=strtotime($Date_2);
$Days=round(($d1-$d2)/3600/24);
echo "今天与2009年1月1日相差".$Days."天";
//今天到2009年12月31日还有多少天
$Date_1=date("Y-m-d");
$Date_2="2009-12-31";
$d1=strtotime($Date_1);
$d2=strtotime($Date_2);
$Days=round(($d2-$d1)/3600/24);
echo "今天到2009年12月31日还有".$Days."天";
?>
//今天与2009年1月1日相差多少天
$Date_1=date("Y-m-d");
$Date_2="2009-1-1";
$d1=strtotime($Date_1);
$d2=strtotime($Date_2);
$Days=round(($d1-$d2)/3600/24);
echo "今天与2009年1月1日相差".$Days."天";
//今天到2009年12月31日还有多少天
$Date_1=date("Y-m-d");
$Date_2="2009-12-31";
$d1=strtotime($Date_1);
$d2=strtotime($Date_2);
$Days=round(($d2-$d1)/3600/24);
echo "今天到2009年12月31日还有".$Days."天";
?>
求两个日期的差数,例如2007-2-5 ~ 2007-3-6 的日期差数
代码如下:
答:(strtotime(‘2007-3-6')-strtotime(‘2007-2-5'))/3600*24
一,突发神精,来把它们三儿来比较
在网上看到好多文章说nginx有多么,多么好。不管好不好,看看测试结果在说,
1,nginx+php-cgi说明
nginx我开启了11个进程,php-cgi我开启了10个进程
2,apache+php-cgi说明
httpd我开启了11个进程,php-cgi我开启了10个进程
3,apache+php-cli说明
没作任何限制
二,测试文件一test.php无逻辑文件
1. <?php
2. phpinfo();
3. ?>
<?php
phpinfo();
?>
1,nginx+php-cgi
[root@BlackGhost zhangy]# /usr/local/bin/webbench -c 100 -t 30 http://localhost/test.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://localhost/test.php
100 clients, running 30 sec.
Speed=61598 pages/min, 1524550 bytes/sec.
Requests: 30799 susceed, 0 failed.
2,apache+php-cgi
[root@BlackGhost zhangy]# /usr/local/bin/webbench -c 100 -t 30 http://localhost/test.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://localhost/test.php
100 clients, running 30 sec.
Speed=15000 pages/min, 371750 bytes/sec.
Requests: 7500 susceed, 0 failed.
3,apache+php-cli
[root@BlackGhost conf]# /usr/local/bin/webbench -c 100 -t 30 http://localhost/test.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://localhost/test.php
100 clients, running 30 sec.
Speed=54618 pages/min, 1357257 bytes/sec.
Requests: 27309 susceed, 0 failed.
三,测试文件二test1.php
查看复制打印?
1. <?php
2. $con = mysql_connect("localhost","username","password");
3. if (!$con)
4. {
5. die('Could not connect: ' . mysql_error());
6. }
7.
8. mysql_select_db("test", $con);
9. mysql_query('set names utf8');
10.
11. $result = mysql_query("SELECT id, name, sex FROM test ");
12.
13. while($row = mysql_fetch_array($result))
14. {
15. echo $row['id'] . "+" . $row['name']."+".$row['sex'];
16. echo "
17. ";
18. }
19.
20. mysql_close($con);
21. ?>
<?php
$con = mysql_connect("localhost","username","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("test", $con);
mysql_query('set names utf8');
$result = mysql_query("SELECT id, name, sex FROM test ");
while($row = mysql_fetch_array($result))
{
echo $row['id'] . "+" . $row['name']."+".$row['sex'];
echo "
";
}
mysql_close($con);
?>
1,nginx+php-cgi
[root@BlackGhost zhangy]# /usr/local/bin/webbench -c 100 -t 30 http://localhost/test1.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://localhost/test1.php
100 clients, running 30 sec.
Speed=60716 pages/min, 324830 bytes/sec.
Requests: 30358 susceed, 0 failed.
2,apache+php-cgi
[root@BlackGhost zhangy]# /usr/local/bin/webbench -c 100 -t 30 http://localhost/test1.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://localhost/test1.php
100 clients, running 30 sec.
Speed=12800 pages/min, 68906 bytes/sec.
Requests: 6400 susceed, 0 failed.
3,apache+php-cli
[root@BlackGhost zhangy]# /usr/local/bin/webbench -c 100 -t 30 http://localhost/test1.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://localhost/test1.php
100 clients, running 30 sec.
Speed=78844 pages/min, 575834 bytes/sec.
Requests: 39422 susceed, 0 failed.
四,个人分析
1,针对无逻辑文件,或者静态文件
在内存,cpu都没有最大化利用的情况下nginx+php-cgi效果比apache+php-cli的效果好一点,而apache+php- cli是最大化用内存和cpu,由起可见,nginx+php-cgi的对无罗辑或静态文件的解析要好很多。apache+php-cgi的效果很差,虽然php官方力挺php-cgi,但是根apache的配合效果不好。
2,针对逻辑复杂的文件
针对逻辑复杂的文件时,nginx+php-cgi对php的解析的效果下降了,但是下降的不是很厉害。而apache+php-cli对php的解析的效果去增强了,增加了很多,是原来的差不多1.5倍。nginx+php-cgi在利用部分内存和CPU的情况下根apache+php-cli对 php的解析都差不了多少,个人认为。nginx+php-cgi要比apache+php-cli要好。但是要想达到好多好多倍,我看难。
上面所做对比,不考虑11nginx,配合10php-cgi是否合理,这个就nginx来说,肯定不是很合理的。
来源:http://blog.51yip.com/apachenginx/619.html
在网上看到好多文章说nginx有多么,多么好。不管好不好,看看测试结果在说,
1,nginx+php-cgi说明
nginx我开启了11个进程,php-cgi我开启了10个进程
2,apache+php-cgi说明
httpd我开启了11个进程,php-cgi我开启了10个进程
3,apache+php-cli说明
没作任何限制
二,测试文件一test.php无逻辑文件
1. <?php
2. phpinfo();
3. ?>
<?php
phpinfo();
?>
1,nginx+php-cgi
[root@BlackGhost zhangy]# /usr/local/bin/webbench -c 100 -t 30 http://localhost/test.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://localhost/test.php
100 clients, running 30 sec.
Speed=61598 pages/min, 1524550 bytes/sec.
Requests: 30799 susceed, 0 failed.
2,apache+php-cgi
[root@BlackGhost zhangy]# /usr/local/bin/webbench -c 100 -t 30 http://localhost/test.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://localhost/test.php
100 clients, running 30 sec.
Speed=15000 pages/min, 371750 bytes/sec.
Requests: 7500 susceed, 0 failed.
3,apache+php-cli
[root@BlackGhost conf]# /usr/local/bin/webbench -c 100 -t 30 http://localhost/test.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://localhost/test.php
100 clients, running 30 sec.
Speed=54618 pages/min, 1357257 bytes/sec.
Requests: 27309 susceed, 0 failed.
三,测试文件二test1.php
查看复制打印?
1. <?php
2. $con = mysql_connect("localhost","username","password");
3. if (!$con)
4. {
5. die('Could not connect: ' . mysql_error());
6. }
7.
8. mysql_select_db("test", $con);
9. mysql_query('set names utf8');
10.
11. $result = mysql_query("SELECT id, name, sex FROM test ");
12.
13. while($row = mysql_fetch_array($result))
14. {
15. echo $row['id'] . "+" . $row['name']."+".$row['sex'];
16. echo "
17. ";
18. }
19.
20. mysql_close($con);
21. ?>
<?php
$con = mysql_connect("localhost","username","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("test", $con);
mysql_query('set names utf8');
$result = mysql_query("SELECT id, name, sex FROM test ");
while($row = mysql_fetch_array($result))
{
echo $row['id'] . "+" . $row['name']."+".$row['sex'];
echo "
";
}
mysql_close($con);
?>
1,nginx+php-cgi
[root@BlackGhost zhangy]# /usr/local/bin/webbench -c 100 -t 30 http://localhost/test1.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://localhost/test1.php
100 clients, running 30 sec.
Speed=60716 pages/min, 324830 bytes/sec.
Requests: 30358 susceed, 0 failed.
2,apache+php-cgi
[root@BlackGhost zhangy]# /usr/local/bin/webbench -c 100 -t 30 http://localhost/test1.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://localhost/test1.php
100 clients, running 30 sec.
Speed=12800 pages/min, 68906 bytes/sec.
Requests: 6400 susceed, 0 failed.
3,apache+php-cli
[root@BlackGhost zhangy]# /usr/local/bin/webbench -c 100 -t 30 http://localhost/test1.php
Webbench – Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://localhost/test1.php
100 clients, running 30 sec.
Speed=78844 pages/min, 575834 bytes/sec.
Requests: 39422 susceed, 0 failed.
四,个人分析
1,针对无逻辑文件,或者静态文件
在内存,cpu都没有最大化利用的情况下nginx+php-cgi效果比apache+php-cli的效果好一点,而apache+php- cli是最大化用内存和cpu,由起可见,nginx+php-cgi的对无罗辑或静态文件的解析要好很多。apache+php-cgi的效果很差,虽然php官方力挺php-cgi,但是根apache的配合效果不好。
2,针对逻辑复杂的文件
针对逻辑复杂的文件时,nginx+php-cgi对php的解析的效果下降了,但是下降的不是很厉害。而apache+php-cli对php的解析的效果去增强了,增加了很多,是原来的差不多1.5倍。nginx+php-cgi在利用部分内存和CPU的情况下根apache+php-cli对 php的解析都差不了多少,个人认为。nginx+php-cgi要比apache+php-cli要好。但是要想达到好多好多倍,我看难。
上面所做对比,不考虑11nginx,配合10php-cgi是否合理,这个就nginx来说,肯定不是很合理的。
来源:http://blog.51yip.com/apachenginx/619.html