提高PHP编程效率的若干技巧

0.用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。

1.如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。

2.$row[’id’] 的速度是$row[id]的7倍。

3.echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。

4.在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。

5.注销那些不用的变量尤其是大数组,以便释放内存。

阅读全文

Apache 2.0性能优化之MPM的选择与配置

Apache 2.0在性能上的改善最吸引人。在支持POSIX线程的Unix系统上,Apache可以通过不同的MPM运行在一种多进程与多线程相混合的模式下,增强部分配置的可扩充性能。相比于Apache 1.3,2.0版本做了大量的优化来提升处理能力和可伸缩性,并且大多数改进在默认状态下即可生效。但是在编译和运行时刻,2.0也有许多可以显著提高性能的选择。本文不想叙述那些以功能换取速度的指令,如HostnameLookups等,而只是说明在2.0中影响性能的最核心特性:MPM(Multi -Processing Modules,多道处理模块)的基本工作原理和配置指令。

阅读全文

Apache日志文件每日自动切割的配置方法

打开Apache的httpd.conf文件,分别找到:

错误日志
ErrorLog logs/error_log
修改为
ErrorLog “| /usr/local/apache/bin/rotatelogs /usr/local/apache/logs/error_log_%Y%m%d 86400 480”

访问日志
CustomLog logs/access_log common
修改为
CustomLog “| /usr/local/apache/bin/rotatelogs /usr/local/apache/logs/access_log_%Y%m%d 86400 480” common

Nginx的rewrite规则基础知识

Nginx的rewrite规则与Apache有一些区别,特地找来一些资料,学习一下Nginx的rewrite规则。

正则表达式匹配,其中:
~ 为区分大小写匹配
~* 为不区分大小写匹配
!~ 和 !~* 分别为区分大小写不匹配及不区分大小写不匹配

文件及目录匹配,其中:
-f 和 !-f 用来判断是否存在文件
-d 和 !-d 用来判断是否存在目录
-e 和 !-e 用来判断是否存在文件或目录
-x 和 !-x 用来判断文件是否可执行

阅读全文

WordPress多站点模式 在Nginx下的rewrite配置方法

最近在把很多应用从Apache转入Nginx下,遇到最棘手的问题莫过于两个平台下rewrite规则的重新调整,下面就拿WordPress为例,和大家分享一下WordPress在多站点模式下,如何配置Nginx中的rewrite规则。

我们在开启WordPress(版本:3.2.1)多站点模式的过程中,会提示我们将一段rewrite写入.htaccess文件中,如下:

阅读全文

Apache虚拟主机设置方法

Apache

1. WWW服务器虚拟主机原理

  WWW服务器虚拟主机是指使用一台物理机器,充当多个主机名的WWW服务器。比如由一台机器同时提供http://www.company1.com 和 http://www.company2.com 等的WWW服务,而浏览这些WWW站点的用户感觉不到这种方式下跟由不同的机器提供不同的服务有什么差别。

  使用WWW虚拟主机的好处在于,一些小规模的网站,通过跟其他网站共享同一台物理机器,可以减少系统的运行成本,并且可以减少管理的难度。另外,对于个人用户,也可以使用这种虚拟主机方式来建立有自己独立域名的WWW服务器,目前国内有很多公司都提供这种免费的服务。

阅读全文

在Linux下为Apahce加载rewrite模块

Apache
在开发时,经常会用到Apache的rewrite功能,如果你的Apache已经安装配置好了,这时需要加载rewrite模块的话,可以按照如下方法进行:

首先进入包含mod_rewrite.c的目录,然后执行如下命令

# /usr/local/apache2/bin/apxs -c mod_rewrite.c
# /usr/local/apache2/bin/apxs -i -a -n mod_rewrite mod_rewrite.la

上面的命令执行完后,打开你的httpd.conf,检查rewrtie模块是否已经在配置文档里进行加载了,正常的话应该会看到下面的这行配置:

LoadModule rewrite_module modules/mod_rewrite.so

检查确认无误后,重启Apache服务即可。

最后:上述的方法是我个人在工作当中遇到的问题,仅凭印象记录下来和大家分享,如有遗漏的地方请大家提出:)

最简单的配置Apache在Linux下自动启动的方法

可以将启动Apache的命令加入到rc.local中,具体方法如下:

假设Apache安装目录为/usr/local/apache2/

第一步,先打开并编辑/etc/rc.d/rc.local

#vi /etc/rc.d/rc.local

第二步,将apache的启动命令加入到rc.local中

apache启动命令为:

/usr/local/apache2/bin/apachectl start

最后,保存rc.local,重新启动linux系统,然后看看apache是否正常随系统一同启动:)