|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
如果不会怎么办,我的视频教程里有个最简单的留言板 最开始离不开模仿, 文章第一局部已率领你领略了php.ini文件的布局,而且申明了若何修正PHP查找途径、过失处置,和解析器的相干选项。第二局部将深切设置装备摆设文件,内容包含若何激活PHP扩大选项、针对PHP剧本设置资本限制,和经由过程PHP剧本静态改动设置装备摆设变量。
激活扩大选项
PHP可使用良多分歧的扩大选项。在UNIX体系中,扩大选项需求在编译时创立;而关于Windows,二进制DLL文件将随PHP宣布而将本人包含出来。变量extension_dir包含了PHP应该检查相干扩大选项的目次名。
extension_dir = "C:\Program Files\Internet Tools\Apache\bin\php4\extensions"
Windows下的PHP包含了20种分歧的扩大选项,而且全体都列在了php.ini文件中(经由过程正文)。要激活某个特定的扩大选项只需求将响应行首的分号去失落偏重启办事器就能够了。假如要禁用某个扩大选项(好比在需求提拔体系功能的情形下),只需求外行首从头添加分号。
假如扩大选项没有列在php.ini文件中,可使用变量extension,然后将响应DLL文件名传递给此变量。
extension=php_domxml.dll
extension=php_dbase.dll
设置extension-specific变量
变量extension-specific被寄存在设置装备摆设文件中一个独自的区域。好比,一切同MySQL扩大功效相干的变量都应该存储在php.ini中的[MySQL]区域。
假如需求利用PHP的mail()函数,则需求设置以下三个变量。当经由过程PHP mail()函数发送电子邮件信息时需求利用SMTP和变量sendmail_from(Windows体系)或变量sendmail_path(UNIX体系)。关于Windows,这些变量设置了所用到的SMTP办事器和显示在电子邮件信息中的“From:”地址;而关于UNIX,变量sendmail_path则对邮件传输设置了MTA(邮件传输代办署理,mail transfer agent)的途径。
SMTP = myserver.localnet.com
sendmail_from = me@localhost.com
sendmail_path = /usr/sbin/sendmail
变量java.class.path、java.home、java.library和java.library.path全体用来设置查找Java类和库的途径。这些值将被Java扩大所利用,所以假如但愿PHP能准确的同Java法式停止集成,则必需确保这些变量被准确的设置。
java.class.path = .\php_java.jar
java.home = c:\jdk
java.library = c:\jdk\jre\bin\hotspot\jvm.dll
java.library.path= .\
变量session.save_path指定了保留会话信息所需的一时目次。凡是而言,此目次默许为/tmp,但因为在Windows体系中此默许目次其实不存在,所以你必需将其从头设置为准确的Windows一时目次,不然会话处置法式将会在挪用session_start()函数时弹出厌恶的失足信息。同时可以经由过程变量session.cookie_lifetime来掌握会话cookie的无效期。
session.save_path = c:\windows\temp
session.cookie_lifetime = 1800
平安设置
在php.ini中,有良多同PHP装置的平安成绩相干的变量。个中最风趣的是safe_mode变量,建议针对ISP和同享主机办事(shared-hosting services)对其停止设置,此变量将对用户对PHP的利用局限停止限制。
safe_mode = Off
当safe mode翻开的时分,可以经由过程变量safe_mode_include_dir指定在何目次中查找相干文件。经由过程将二进制法式放在特定目次并利用safe_mode_include_dir变量将目次告之PHP,PHP将对可以使用exec()号令运转PHP剧本的法式品种停止限制。在此目次中仅二进制文件可以经由过程exec()号令停止会见。
safe_mode_include_dir = /usr/local/lib/php/safe-include
safe_mode_exec_dir = /usr/local/lib/php/safe-bin
还可以经由过程变量open_basedir来限制文件操作。此变量将设置作为文件操作根(root)的目次名。此变量设置后,关于PHP来讲,寄存在此目次树之外的文件将没法会见。这关于在同享体系中将用户限制在各自的home或Web目次是一种很好的办法。
open_basedir = /home/web/
变量max_execution_time设置了在强迫终止剧本前PHP守候剧本履行终了的工夫,此工夫以秒盘算。当剧本进入了一个无穷轮回形态时此变量十分有效。但是,当存在一个需求很长工夫完成的正当举动时(例如上传大型文件),这项功效也会招致操作掉败。在如许的情形下必需思索将此变量值增添,以免PHP在剧本正在履行某些主要进程的时分将剧本封闭。
max_execution_time = 90
刚提到了上传,如今来看看若何设置装备摆设uploads变量和form变量。
设置装备摆设文件上载和表单变量
假如咱们在文章后面所会商平安设置装备摆设所供应的平安强度还不克不及知足你的请求,可以经由过程封闭文件上传或设置每次上传最大文件尺寸限制来进一步进步平安强度。以上两种功效将分离经由过程变量file_uploads和upload_max_filesize来完成。凡是来讲,除非体系中无为吸收文件而设计的使用法式(例如基于Web FTP办事的图片册),你应该设置一个绝对较小的文件尺寸限制值。
file_uploads = On
upload_max_filesize = 2M
假如你关于上传文件其实不关怀,但在PHP使用法式中利用了大批的表单,这里有两个变量将会让你发生很大的乐趣。起首是变量register_globals,它处理了PHP开辟人员临时以来的心头之痛。在PHP 3.x中,此变量默许为On。由此当提交表单时表单变量将主动的转换成PHP变量。
在PHP 4.x中,出于平安思索,此变量默许设置为Off。由此,表单变量将只能经由过程特定的$_GET和$_POST停止会见。这也形成了良多用PHP 3.x编写的剧本在运转时呈现成绩,请求开辟人员重写剧本并对其从头测试。好比,输出到表单域<input type="text" name="email">中的值关于PHP 3.x剧本来讲将可以了解为$email;而在PHP 4.x剧本中却被作为$_POST['email']或$_GET['email']。
凡是情形下可以将此变量设置为Off,如许可以对经由过程表单停止的剧本进击供应更加平安的提防办法。假如需求思索到对初期PHP 3.x剧本的兼容成绩,则应该置于On。
register_globals = Off
同表单提交相干的一个变量是post_max_size,它将掌握在采取POST办法停止一次表单提交中PHP所可以吸收的最大数据量。仿佛不大能够需求将默许的8 MB改得更大。相反,应该恰当将其降到更加实践的数值。但假如但愿利用PHP文件上传功效,则需求将此值改成比upload_max_filesize还要大。
post_max_size = 8M
在PHP 5中增添了max_input_time变量。此变量可以以秒为单元对经由过程POST、GET和PUT体例吸收数据工夫停止限制。假如使用法式所运转情况处在低速链路上,则需求增添此值以顺应吸收数据所需的更多工夫。
max_input_time = 90
功能调剂
你还可以经由过程调剂一些变量值来提拔PHP解析器的功能。为了不正在运转的剧本大批利用体系可用内存,PHP答应界说内存利用限额。经由过程memory_limit变量来指订单个剧本法式可使用的最大内存容量:
memory_limit = 8M
变量memory_limit的值应该恰当大于post_max_size的值。
另外一项可以用于进步功能的办法是禁用变量$argc和$argv,这两个值被用于寄存在号令行中传递给使用法式的参数数目和实践参数值。
register_argc_argv = false
相似,还可以禁用$HTTP_GET_VARS和$HTTP_POST_VARS,由于在利用$_GET和$_POST的明天你不大能够用到前两种体例。禁用此功效可以带来功能上的提拔,但这只能经由过程PHP 5中的变量register_long_arrays完成。
register_long_arrays = false
函数ini_set()
最初,需求注重ini_set()函数。当PHP读取php.ini设置装备摆设文件中的一切设相信息的同时,它还供应了采取ini_set()函数依据per-script准绳更改这些设置的功效。此函数吸收两个参数:需求调剂的设置装备摆设变量名,和变量的新值。例如,在某剧本呈现时增添最大履行工夫(maximum execution time):
<?php
ini_set('max_execution_time', 600)
// more code
?>
如许的设置将仅仅影响被设置的剧本。一旦剧本履行终了,该变量将主动恢复到原始值。
假如PHP使用法式运转在一个同享办事器上,你不大能够可以会见到主php.ini设置装备摆设文件。这时候,函数ini_set()就能够答应依据特别请求对PHP设置装备摆设做静态修正,这将会给你带来很大的便利。
对我一点用处没有啊,我知道该怎么学,但是我想如何才能更快的学,一周速成,啊不,24小时速成那种,皮皮你有没? |
|