Heim >Backend-Entwicklung >PHP-Tutorial > PHP NEWBIE需要注意的一些有关问题

PHP NEWBIE需要注意的一些有关问题

WBOY
WBOYOriginal
2016-06-13 13:35:16969Durchsuche

PHP NEWBIE需要注意的一些问题
问题1:变量传递问题  

这个问题恐怕是大家见到的最多的问题了,总有朋友在问:为什么我装了PHP后,变量无法在页面间传递?  

PHP4.2版本后,将PHP.INI中register_globals的设置改成了Off,这就使原来的一些在低于4.2版本情况下可以运行的程序无法执行。  

之所以这么做是因为在register_globals设置为On的情况下,PHP本身会有安全隐患。在程序设计不严密的情况下,别人可以通过某些手段得到你在页面间传递的变量(很可怕的问题哦)。解决的方法有两个:一是将PHP.INI中的register_globals重新设置成On(不要吧?);二是在使用页面间传递变量的时候,使用PHP为我们准备好的全局变量集。如下:  

$_POST['varname'];//通过post方式提交的变量,多用于form的提交(

)。  

$_GET['varname'];//通过get方式提交的变量,可用于from的提交(
),也可以用来得到页面的参数(http://test.php?a=ok)。  

$_COOKIE['varname'];  

$_SESSION['varname'];//用于得到保存在session和cookie的变量。  

其实上面的这些变量名都可以写成另一种形式:$HTTP_*_VARS['varname'],即$HTTP_POST_VARS['varname'],$HTTP_GET_VARS['varname'],$HTTP_COOKIE_VARS['varname'],$HTTP_SESSION_VARS['varname'],不过似乎这么写也不太安全,所以大家就采用开始说的这种容易写,又较安全的方法吧。  

  

问题2:关于SESSION的设置  

Warning: open(tmp\sess_a18eaa908774d353293cf91777599c90, O_RDWR) failed: No such file or directory (2) in Unknown on line 0  

当程序中要使用SESSION时,有的朋友就会问这样的问题:为什么在使用SESSION的页面上会出现类似上面的警告呢?  

这种情况只会出现的WINDOWS系统中。这是因为在PHP.INI中,SESSION的默认存放路径session.save_path='\tmp',这其实是*nix的路径写法,而在WINDOWS下面是不存在这样的路径的。所以PHP找不到存放SESSION的地方,当然就要发出警告了。解决的方法就是将'\tmp'替换成一个WINDOWS系统下存在的目录的地址。  

还有一点问题,就是在使用SESSION的时候,要想在当前页面得到SESSION变量,就必须在程序的开始部分加上session_start(),而且在此之前不能有任何的输出。也就是说,最好就把session_start()写在第一行。  

  

问题3:关于页面最大执行时间  

当上传较大的文件,或是从数据库读取大量数据的时候,页面执行的时间可能变得很长。而PHP.INI中对于页面执行时间的最大限制默认为max_execution_time=30,也就是说当你的程序执行了30秒还没结束,就会自动停止响应。所以当你要执行的程序花费时间要较长时间的时候,可以修改max_execution_time=300或更大,以确保程序的正常执行。如果是上传文件的话,还要同时注意以下几个设置:  

upload_max_filesize=2M //上传文件最大容量  

post_max_size=2M //通过post方法提交的文件最大容量  

memory_limit=8M //每个页面执行时消耗的最大内存  

  

  

---------------------------  

一般的程序设置max_execution_time=30,应该就足够了。  

超过这个时间大多是死循环。  


------解决方案--------------------
探讨

啥叫MVP啊?很少见啊

------解决方案--------------------
探讨

引用:

啥叫MVP啊?很少见啊
微软 MVP(最有价值专家)介绍
微软最有价值专家 (MVP) 是指具备一种或多种微软技术专业知识,并且积极参与在线或离线的社群活动,经常与其他专业人士分享知识和专业技能,受人尊敬、 信任,而且平易近人的专家。
实际生活中,人们总是信任专家的建议和反馈。微软 MVP 正是这样一群拥有丰富知识和实际经验的微软技术专家。他们不是微软的员工……
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn