Php设置难题&加快提议在动用的应用程序进程中假设因php设置错误不能够应用,请检查php.ini中如下参数设置.下边均要是你的PHP安装在
d:/php/;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Error handling and logging ;;
error_reporting is a bit-field. Or each number up to get desired error;
reporting level; E_ALL – All errors and warnings; E_ERROR – fatal
run-time errors; E_WARNING – run-time warnings ; E_PARSE –
compile-time parse errors; E_NOTICE – run-time notices (these are
warnings which often result; from a bug in your code, but it’s possible
that it was; intentional (e.g., using an uninitialized variable and;
relying on the fact it’s automatically initialized to an; empty string);
E_CORE_ERROR – fatal errors that occur during PHP’s initial startup;
E_CORE_WARNING – warnings that occur during PHP’s; initial startup;
E_COMPILE_ERROR – fatal compile-time errors; E_COMPILE_WARNING –
compile-time warnings ; E_USER_ERROR – user-generated error message;
E_USER_WARNING – user-generated warning message; E_USER_NOTICE –
user-generated notice message; Examples:; – Show all errors, except for
notices;error_reporting = E_ALL & ~E_NOTICE; – Show only
errors;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR; –
Show all errors except for noticeserror_reporting = E_ALL &
~E_NOTICE; Print out errors (as a part of the output). For production
web sites,; you’re strongly encouraged to turn this feature off, and use
error logging; instead . Keeping display_errors enabled on a production
web site; may reveal security information to end users, such as file
paths on your Web; server, your database schema or other
information.display_errors = On ; You should do your best to write your
scripts so that they do not require; register_globals to be on; Using
form variables as globals can easily lead; to possible security
problems, if the code is not very well thought of.register_globals =
On; Argument passed to save_handler. In the case of files, this is the
path; where data files are stored. Note: Windows users have to change
this ; variable in order to use PHP’s session
functions.session.save_path = “c:/winnt/temp”; cgi.force_redirect is
necessary to provide security running PHP as a CGI under; most web
servers. Left undefined, PHP turns this on by default. You can; turn it
off here AT YOUR OWN RISK; **You CAN safely turn this off for IIS, in
fact, you MUST.**cgi.force_redirect = 0; Directory in which the
loadable extensions reside.extension_dir = ./extensions/;
也许直接设置成你的断然目录,如:d:/php/extensions/;
GD库,比如图片管理种类就能够用到他.; 这几个文件在 d:/php/extensions/
下.extension=php_gd.dllPHP的亮点之一是速度迅猛,对于平时的网址使用,能够说是一度够用了。但是借使站点的访谈量超级高、带宽窄只怕别的的因素令服务器发生品质瓶颈的时候,你也许得斟酌其余的法子来进一层提升PHP的进程了。那篇小说将从多少个地点介绍怎样成功那一点,进而令客商浏览的时候尤其“爽”。
代码优化 在这地并不想再一次告诉你
怎样写更干净的代码,那点我想各种人都精通,在需求速度的时候,你大概早已在PHP源代码的优化方面做了成千上万的劳作,这里所提议的是,那些麻烦的干活能够交由其余工具来完结。那便是Zend
Optimizer,此程序能够从Zend
Technologies的网站免费获取。它的原理很简单,通过检查实验Zend引擎发生的中间代码,并且优化它来收获越来越高的实行进程。笔者觉着优化代码是一项颇繁杂的工作,何况优化后的代码只怕变得难以精通,尤其是当你放下该PHP程序一段时间后,卒然间客商供给您做一些改造时,大概你协调也不懂了;-卡塔尔。因而笔者提出您在PHP的源代码较为复杂的时候,用Zend
Optimizer来做那个优化的做事,好处是它不会令你的代码变得复杂难懂。
安装Zend
Optimizer是比较轻易的。只要依照你利用的阳台,下载相关的预编写翻译库,并且在您的php.ini中投入两行,重新开动你的web服务器就可以了!
zend_optimizer.optimization_level=15zend_extension=”/path/to/ZendOptimizer.so”
zend_loader.enable=Off
你恐怕有一点点古怪,不是说两行啊,怎么成为三行了。可是第三行是可选的,看来禁绝那么些zend_loader将会令优化的进度越来越快,由此不要紧在你的php.ini文件中多加这一行。要在乎的是:唯有在你不利用Zend
Encoder Runtime的时候,才得以禁绝zend_loader,关于Zend Encoder
Runtime,还恐怕会在下文提到。 要更加快吧?使用cache吧
如若您的PHP应用还亟需越来越快的速度,下三个方法是缓冲。要兑现那或多或少,有三种不一致的办法。作者要好就试用过Zend
Cache,APC和Afterburner Cache。
以上提到的都以“缓冲模块”。它们的法则都大概,在php文件被第1回号令的时候,通过将你的PHP源代码的中间代码存款和储蓄在web服务器的内存中,对于之后相仿的伏乞,都直接提供内部存款和储蓄器中的“编写翻译”版本。由于它能够令磁盘的拜见达到最小化,由此那个艺术真的能够十分的大地升高PHP的习性。更为有援救的是,当你的PHP源代码纠正时,缓冲的模块可以窥看见那么些变迁,何况重新载入相符,由此你不要忧虑客商获得的是旧版本的顺序。这么些缓冲的模块确实准确,可是笔者应当选拔哪类啊?下边分别介绍一下:
Zend Cache是Zend
Technologies的三个商业化的制品(它也是免费为大家提供PHP引擎和Zend
Optimizer的公司卡塔尔国。它确实不错。在第一次运转后,你能够显著发现到PHP的快慢获得了比一点都不小的巩固,服务器的空余资源也越多了。劣势是你要结算购买它,但就性能与价格之间的比例来讲,还是十二分值得的。
Afterburner Cache是Bware
Technologies提供的免费缓冲模块。当前还只是beta版,它所做的劳作看来与Zend
Cache大概,可是质量的增加就未有Zend Cache,并且现成的本子无法和Zend
Optimizer一同职业,不过它是免费的。 APC(Alternative PHP
Cache卡塔尔(قطر‎是由Community
Connect(apc.communityconnect.com卡塔尔国提供的另三个无需付费模块。它的行事很平稳,速度也是有众多的增高,要留意的是,小编还尚无找到贰个法定的测验数据,那个只是在小编的采纳上作测量检验,因此无法下二个结论.
Web内容的压缩
经过上述五个的主意,相信你的PHP应用的属性已经得到了极大的进步,未来该从另多个上面来假造了:下载速度。要是你的运用只是在铺子内跑,全部的顾客都使用100Mb/s的以太网连接到服务器,那也许不是一个标题,但是一旦你的客商中有使用慢速的modem连接的,你将要构思选拔内容减弱这一个办法了。
遵照IETF的正统,大好些个的浏览器都接济gzip的内
容压缩。那代表你在将web的剧情发给顾客的浏览器前,能够先利用gzip进行压缩,浏览器在收到的时候就能够自动解压数据,而且令顾客观看原本的页面。同样,压缩web页面的情节也可能有几个例外的不二诀窍。
mod_gzip是Remote
Communications(,
mod_perl等。可是本人尝试了刹那间,看来并充足。作者在mod_gzip的邮件列表中询问到,这么些bug就要下八个版本中校订。可是你依然能够用它作静态内容的滑坡。
然则我们还想减削动态的开始和结果,由此大家不得不找别的的法子。多个办法是使用class.gzip
encode.php(
在前段时间,小编也观看了一篇关于PHP输出缓冲的篇章。它说的是PHP4.0.4临盆了一种新的输出缓冲的拍卖招式–ob_gzhandler,它的作用和方面介绍的类相符,但分裂是您如若在你的php.ini中使用以下的句法就能够了:
output_handler = ob_gzhandler ;
那样将激活PHP的输出缓冲效率,而且压缩全体它发送的事物。出于有个别极其的缘故,借使您不想在此边设置的话,只在要求的地点才改造这几个默许设置的话,只要在急需减小的PHP源码目录中,改进一下.htaccess文本就能够了,使用的句法如下:
php_value output_handler ob_gzhandler
…大概直接在您的PHP代码中调用它,以上面包车型大巴方法: ob_start;
这几个输出缓冲管理的秘籍很好,并且不会为服务器带来额外的系统开采。小编格外建议您使用这种方式。它的转移能够用以下的例子表明,假如顾客接纳的是28.8K的modem的话,经过这几个管理,他将会认为忽地间换到了叁个ISDN接入同样。要留意的一些是:Netscape
Communicator并不补助图象的减削,所以将彰显不出去。由此唯有你的顾客任何选择Internet
Explorer,不然你一定要制止压缩jpeg和gif图象。此外文件的收缩应该没反常,然则自己提议您最佳测量试验一下,特别是浏览器接纳了不平淡无奇的插件只怕是少人用的浏览器。
其它有效的东西… Zend
Technologies的在线商店在二零一两年八月24通达了,并且出卖一些与PHP相关的有趣产物。蕴含前边提到的Zend
Cache,Zend
Encoder(简单说来,是PHP代码的编写翻译器,能够发生编写翻译的类,那样你就足以售卖给客户而不用担忧走漏源代码。在需求周转这个类的web服务器上,就要接纳Zend
Encoder Runtime来解码卡塔尔(قطر‎,Zend
Ide(叁个为PHP而设的集成化开拓遭逢,带有非常多苍劲的习性State of Qatar,还会有为PHP开垦者提供的援救服务。
结论
使用这篇小说提到的技术,你将得以相当的大地进步站点的质量,不过请小心以下几点:
1.瓶颈可能不在PHP,你要求着重应用中的每一个对象
2.贰个web服务器的习性都以有限量的,由此,不要认为质量不佳就是PHP的原由,也说不许是访谈量相当的大,你的服务器须求进步了,恐怕构思使用负载均衡的体系3.不要以为内容收缩不重大,在100Mb/s的局域网中,你的PHP应用只怕品质很好,但要酌量到应用慢速modem的顾客。

发表评论

电子邮件地址不会被公开。 必填项已用*标注