当前位置:  编程技术>php
本页文章导读:
    ▪PHP 优化配置——加速你的VBB,phpwind,Discuz,IPB,MolyX第1/2页       让论坛速度更快 PHP加速设置 PHP加速:Zend Optimizer优化PHP程序 Zend Optimizer V2.5.7 For Windows  软件语言:英文 运行环境:Win9x/NT/2000/XP Zend Optimizer V2.5.7 For Windows软件介绍: Zend Optimizer用.........
    ▪PHP如何编写易读的代码       成功的开发团队要求队伍中的每一位成员遵守代码重用规则,这些规定把代码的重用性推到极至同时却不会显著降低开发人员的创造力和开发效率。如果编写和使用代码的开发人员遵守共同.........
    ▪php为什么选mysql作为数据库? Mysql 创建用户方法       1、php为什么选mysql作为数据库?  2、Mysql数据库创建用户  本文主要写mysql创建用户的语句的区别,转自isher的blogspot,由于在写入时想到了为什么不换用其他数据库的时候,搜索了一下goog.........

[1]PHP 优化配置——加速你的VBB,phpwind,Discuz,IPB,MolyX第1/2页
    来源: 互联网  发布时间: 2013-11-30
让论坛速度更快 PHP加速设置 PHP加速:Zend Optimizer优化PHP程序

Zend Optimizer V2.5.7 For Windows 
软件语言:英文
运行环境:Win9x/NT/2000/XP

Zend Optimizer V2.5.7 For Windows软件介绍:

Zend Optimizer用优化代码的方法来提高PHP 4.0应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。一般情况下,执行使用Zend Optimizer的PHP程序比不使用的要快40%到100%。这意味着网站的访问者可以更快的浏览网页,从而完成更多的事务,创造更好的客户满意度。更快的反应同时也意味着可以节省硬件投资,并增强网站所提供的服务。所以,使用Zend Optimizer,就等于提高了电子商务的盈利能力。Zend Optimizer能给PHP用户带来很多益处,特别是那些运营网站的人。快速运行PHP程序可以显著降低服务器的CPU负载,并可以减少一半的反应时间,也就是从访问者点击链接到服务器开始读取页面之间的时间。 

安装Zend Optimizer优化PHP程序

Zend Optimizer是由PHP核心引擎“Zend” http://www.zend.com 创建者Zend技术公司所开的免费PHP优化软件。据Zend公司透露使用这个软件某些情况下至少可以提高性能30%以上!现在我们来看看如何配置这套软件。

Zend Optimizer的安装很简单

1、运行安装文件,首先提示你选择安装目录,选择一个你喜欢的目录,单击“Next”。
2、安装向导会要求你选择当前使用的WEB服务器(Apache、IIS或其它),选择好服务器后单击“Next”
3、安装向导提示您确认php.ini的位置(默认是C:\WINDOWS\)单击“Next”,提示“备份php.ini到C:\WINDOWS\php.ini-Optimizer-bak,当卸载该软件时可以恢复到原始的php.ini)单击“Next”。
4、安装向导提示“为了继续安装程序需要重新启动IIS服务)单击“是”,安装程序开始重新启动IIS服务,然后安装程序会提示“IIS服务顺利重新启动了”单击“确定”,再单击“finish”完成安装。
5、安装完毕后程序会自动根据你的选择来修改php.ini帮助你启动这个引擎。下面我们来介绍Zend Optimizer的配置选项,帮助你最大化自定义合理的配置。

[Zend]
zend_optimizer.optimization_level=15  //我的配置文件中zend_optimizer.optimization_level = 1023
zend_extension_ts="C:\Inetpub\Zend\lib\ZendExtensionManager.dll"    //这个与你的安装路径有关
zend_extension_manager.optimizer_ts="C:\Inetpub\Zend\lib\Optimizer-2.5.5"

现在我们来介绍上边这些配置文件中相关内容的含义:
zend_optimizer.optimization_level 《== 优化程度,这里定义启动多少个优化过程。
zend_optimizer.encoder_loader 《== 是否允许处理由Zend Encoder加密的PHP文件,默认允许。
zend_extension_ts 《== 优化器所在目录。
zend_extension_manager.optimizer_ts 《== 优化器管理所在目录。

优化过程 zend_optimizer.optimization_level 详细解释

这里最为重点的部分,仔细看!Zend Opt总共有10个优化过程,从理论上说开的越多性能越好。当然,理论和实际永远都存在着差距。优化过程开启的越多对性能消耗也相对也越大,Zend Opt的10个优化过程并不相同也就是说效果不是平均的。Zend公司定义的最高值(High模式)为15,这里15指的是开启1-4号优化过程。当然,很多朋友并不满足于此,毕竟最高也只开启4个优化过程连总数的一半都没有。各个优化过程的对应的数字代码(值)如下:

不使用 0 <= 如果这样不如不装,还能节约点内存说!
优化过程1(PASS1) 1
优化过程2(PASS2) 2
优化过程3(PASS3) 4
优化过程4(PASS4) 8
优化过程5(PASS5) 16
优化过程6(PASS6) 32
优化过程7(PASS7) 64
优化过程8(PASS8) 128
优化过程9(PASS9) 256
优化过程10(PASS10) 512

以何种方式开启优化过程是通过这些数字代码(值)相加所得的和作为此参数的参数值来控制的。如我的配置文件中zend_optimizer.optimization_level = 1023, 这里的1023是优化过程1到优化过程10全部数字代码(值)相加得到的和,表示开启全部10个优化过程。刚才所提到的Zend公司定义的High模式值为15,15表示同时开启优化过程1-4。

加密代码支持 zend_optimizer.encoder_loader 详细解释

对于这个参数,我想如果没有看过Zend Opt FAQ文档的朋友大多数并不知道。这个参数用来告诉Zend Opt是否去支持被Zend Encoder加密过的代码。默认情况下Zend Opt将支持加密过的代码。如果不使用被加密过的代码我推荐你关闭此选项。这个功能牵扯到解包反码的过程,会导致系统负荷的加重。我的朋友已经开发完毕相应的反编译工具,预计春节之后推出。

这个参数的值只有两个 0 关闭, 1 开启。默认为1,推荐设置为0。

模块定位 zend_extension_ts 、zend_extension_manager.optimizer_ts无需解释,这些参数就是Zend Optimizer相关模块在硬盘上的安装路径。

6、如何获知Zend Optimizer是否在运行? 
答案很简单,只要用PHP的函数phpinfo()来检测便知,如下所示: 
<?
phpinfo(); 
?> 

显示的结果中关于Zend Optimizer的部分就象下面这样:(PHP版本不同,信息可能不同,我的是PHP4.3.11)


[Copy to clipboard] [ - ]CODE:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies with Zend Extension Manager v1.0.6, Copyright (c) 2003-2004, by Zend Technologies with Zend Optimizer v2.5.7, Copyright (c) 1998-2004, by Zend Technologies  

表示 Zend Optimizer for PHP优化成功了。

PHP 优化配置之二
用eAccelerator(前身Truck MMCache)加速
What is eAccelerator?
----------------------
eAccelerator is a free open source PHP accelerator, optimizer, encoder and
dynamic content cache for PHP. It increases performance of PHP scripts by 
caching them in compiled state, so that the overhead of compiling is almost
completely eliminated. Also it uses some optimizations to speed up execution
of PHP scripts. eAccelerator typically reduces server load and increases the
speed of your PHP code by 1-10 times.

eAccelerator is a fork of TurckMMCache
eAccelerator(前身Truck MMCache)

相信很多朋友都知道MMCache,不过很久前开发者就被Zend招安了,因此MMCache一直没有官方的新版本...要支持最新的PHP4.4.0或者PHP5.04都需要自己编译源码,对于普通用户来说无异于天方夜谭...别灰心,我们还有eAccelerator!

    
[2]PHP如何编写易读的代码
    来源: 互联网  发布时间: 2013-11-30
成功的开发团队要求队伍中的每一位成员遵守代码重用规则,这些规定把代码的重用性推到极至同时却不会显著降低开发人员的创造力和开发效率。如果编写和使用代码的开发人员遵守共同的程序命名规范代码和代码注释要求,那么代码的重用性就会得以大大提升。这些标准的起点是系统结构级的。你的功能规范应该在类、属性的名字、函数返回值以及其他关键程序元素的定义中反映这些标准。本文将就基本的命名规则和注释提出一些可行的建议,意图帮助读者开发自己的代码重用标准。 


大小写标准


在我们开始讨论各类程序要素命名的正确方式之前,先让我们定义区分元素的字符大小写的两种最常用方式,它们是:

Pascal规范—第1个字符大写,目标名中的每个单词的第1个字母也大写,比如InvoiceNumber或者PrintInvoice。其他的所有字符都小写。 
Camel规范—第1个字符不大写,但目标名中的每个单词的第1个字母大写,比如,invoiceNumber。其他的所有字符都小写。 
可是,采用字符大小写区分元素可能在对大小写不敏感的编程语言中引发问题。比方说,由于C#语言区分大小写,所以你可以调用私有变量employee,接着它所具有的公共属性Employee则可以被调用者所用。这些操作是完全合法的。但是,对Visual Basic来说就会产生错误,因为VB是不区分字母大小写的,以上两种元素在VB看来都是一回事。假如你在混合语言环境下工作,你只能指定某些规则要求开发人员合理利用多种语言阅读其他人开发的代码。


命名标准
假设我们采用了以上的大小写标准,现在就让我们了解一些通用程序元素的简单命名建议。


某些类设计为模拟真实世界的对象,就这些类来说,所选用的名字就应该反映真实世界的对象、具有单数名词的格式,比方Employee、 Invoice或者Timecard等。对内部类而言可以采用Pascal规范令结果类具有单数形式的名字,比如ThreadPool或者CustomColor等。类应当是单数的,这样它们的复数形式就可以代表同类的集合名,比如Employees数组等。

类的成员
采用C#以及其他大小写敏感编程语言的开发人员应当采用camel规范命名类成员的名字。这样做可以让开发者更易于区分内部变量的名字(name)和公共属性的名字(Name)。许多VB开发人员更喜欢采用匈牙利命名法为类成员起名,也就是在名字前面加上前缀表示变量的类型,比如sName就指的是string类型的Name变量。我认为,在使用VS.NET这样高级的开发环境下这样做是不必要的,因为在这种情况下系统鼠标停留在变量之上即可可自动显示变量的类型。我个人喜欢在类成员名前加上前缀:小写的字母m。这样内部变量就保存了足够的内部类信息:内部变量mName就正好代表了公共属性Name。

方法
方法应该用Pascal规范命名,同时用合理的方式说明他们的实施行为。比方说,给数据库添加雇员的方法可以命名为AddEmployee,而打印发票的方法则不妨命名为PrintInvoice。假如方法返回的是布尔值,那么方法名应该以动词开头以便用在if语句的时候其含义更明显。比如说,假如你有一个方法的功能是确定某位雇员是否符合公司401k计划的要求,那么你可以在If语句中调用IsEligible401k方法:If IsEligible401k then…

方法参数、返回值和变量
所有的方法参数、返回值和变量都应该采用Pascal规范命名,同方法名一样也应该能反映参数或者变量所代表的含义。这一点对参数方法而言特别重要,因为你在调用方法的时候智能感知(Intellisense)会返回参数名和参数类型。所有采用方法的开发人员都应该使用描述性的名字和类型,便于相互理解其含义。

控件
控件命名是开发领域一个经常引发争议的问题。虽然大多数人赞同不应该使用控件的默认名称,比如TextBox1或者Label1等等,但是,他们还反对按照变量的方式命名控件或者采用前缀表示控件的类型。我比较喜欢采用标准的三字母前缀命名窗体中控件的名字。比如说,保存姓氏和名字的文本框控件就不妨分别命名为txtLastName和txtFirstName。处理窗体数据的命令按钮则可以命名为cmdSubmit或者cmdCancel。其实,只要你能保证控件命名的一致性而且标准易于理解即可。

注释
注释代码对所有开发人员来说都是必要的。为了教授正确的注释技术,我就经常在自己的演示程序中添加注释代码。同时,为了简化注释过程,我建议开发人员首先编写注释说明他们想编写的程序。我首先会写注释说明程序中的过程、类或者其他程序要素,但对其具体工作原理不做阐述。然后我会编写一系列的注释代码描述过程的每一主要步骤或者类的元素。在编写了定义类或者说明过程的代码之后,我对各个外部变量、控件、打开的文件乃至其他过程所访问的元素文档化,对输入参数和返回值做简要说明。

如果你在使用C#开发程序,那么VS.NET环境已具有内置的工具帮助你把内部C# 注释转换为外部HTML文档。你可以在自己的文档中加上特殊的处理指示符而改变外部文档的表示方式。有关这方面的更多信息可以参考VS.NET内部帮助文件: ms-help://MS.VSCC/MS.MSDNVS/csref/html/vcoriXMLDocumentation.htm. 


    
[3]php为什么选mysql作为数据库? Mysql 创建用户方法
    来源: 互联网  发布时间: 2013-11-30
1、php为什么选mysql作为数据库? 
2、Mysql数据库创建用户 
本文主要写mysql创建用户的语句的区别,转自isher的blogspot,由于在写入时想到了为什么不换用其他数据库的时候,搜索了一下google为什么php会选择mysql作数据库,没有发现相关报道,边决定找到起因,同时此问题由我个人总觉得出,不代表广大php老鸟群们的意见,如有不周请指出 
php为什么选mysql做为数据库?  

mysql是最早的开源数据库(基于GPL,GPL2开源协议开发,享有共享原则,现有一部分已规划到商业用途),虽然是免费的,但从性能和稳定性相比丝 毫不逊色于其他商业数据库,而php做为最类似于C语言的程序,门槛较低,且做为免费的模块发布不依赖于任何商业服务器,扩展性好,在internet上 存在重多的开源类库提供php开发者使用,从而php开发者便以同样基于GPL公约开发的Mysql数据库做为低成本起步搭档  

2、Mysql添加用户  
个人教训,在添加Mysql帐号的时候,一定要主义用户名和主机(local和%)均要被引号引起,否则命令即错  
命令方式的.注意每行后边都跟个 ; 表示一个命令语句结束.  

格式:grant select on 数据库.* to “用户名”@“登录主机” identified by "密码";  

例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MYSQL,然后键入以下命令:  

grant select,insert,update,delete on *.* to “test1”@"%" Identified by "abc";   

补充所有权限语句:  

由例1得: 将执行权限(select,insert,....)改为all privileges,即表示拥有所有权限,包括创建数据库权限,删除数据库,已经不局限于在一个数据库内操作  

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';   

例1(非补充)中增加的用户是十分危险的,因为你的主机是%,%即代表任意位置的主机,而local即词义"本地",假如,某个人想知道test1的密码,那么他就可以在internet上的任何一台电脑上连接到你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。  

根据例1补充语句,此语句尽量不要在Mysql服务器上使用,如果你的服务器处于托管或远端地带,如果你需要远程管理Mysql服务器,而由不想通过超级终端登录到服务器上,那么你只好用此语句,但要清楚一件事,即你能使用此方法连接服务器,其他人也可以,所以要保管好你的mysql密码  

例2、 增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作 (localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据 库,只能通过MYSQL主机上的web页来访问了。

grant select,insert,update,delete on mydb.* to “test2”@localhost identified by "abc";  

如果你不想test2有密码,可以再打一个命令将密码消掉。  

grant select,insert,update,delete on mydb.* to “test2”@localhost identified by "";  

grant select,insert,update,delete on dez.* to “test2”@"%" identified by "123456"; 

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3