这里我自己总结了一些PHP里面让人头疼的问题。
1、首先就是页面间传值的问题。
用$_GET[ 'foo '],$_POST[ 'foo '],$_SESSION[ 'foo ']来得到前一页面的值。
2、Win32下使用Apache服务器时,get方法传递中文参数会出错。
例如test.php?a=你好&b=你也好,这样传递参数是会导致一个内部错误。
解决办法: “test.php?a= “.urlencode(你好). “&b= “.urlencode(你也好) 。
3、win32下的session不能正常工作。
php.ini默认的session.save_path=/tmp,这显然是linux下的配置,把它改成一个绝对路径就可以了,例如session.save_path = c:/windows/temp。
4、显示错误信息。
当php.ini的display_errors=On并且error_reporting= E_ALL时,将显示所有的错误和提示,调试的时候最好打开以便纠错。变量在赋值以前调用会有提示,解决办法是探测或者屏蔽。例如显示$foo,可以
if(isset($foo)) echo $foo; 或者echo @$foo;
5、更改php.ini后没有变化。
重新启动web server,比如IIS,Apache等等,然后才会应用最新的设置。
6、header already sent (这个问题我前几天弄苟哥的一个程序时也遇到了,后来还是没解决~)
这个错误通常会在你使用HEADER的时候出现,他可能是几种原因:1,你在使用HEADER前PRING或者ECHO了2.你当前文件前面有空行3.你 可能INCLUDE了一个文件,该文件尾部有空行或者输出也会出现这种错误。还有使用session_register()。
超越C++ 原创文章,转载请注明来源并保留原文链接