php基础编程常见问题汇总

黄袍披身 2012-01-19 12:13:13
本版常见问题的汇总,限于篇幅答案可能不够详尽,需要更多答案可以充分利用搜索引擎。
本帖内容将陆续更新增加。希望能够帮助更多需要的新手,如果有错误敬请各位同学指正。

1.如何判断php是否安装成功,以及输出php的相关配置环境参数?
答:1.新建一个php文件,例如文件名:phpinfo.php
2.在php文件内添加代码
<?php echo phpinfo(); ?>
3.在浏览器打开这个文件,localhost/phpinfo.php
如果正常出现一个详细的文档那么安装成功,如果直接输出了上面的源码或者提示下载文件为不成功。

2.如何打开php的错误提示功能?默认是关闭状态
答:php.ini文件搜索字段error_reporting 修改成 error_reporting = E_ALL
display_errors 修改成 display_errors = On 如果字段前有# 请删除这个注释符号。
需要重启apache,即可生效.也可以在php文件添加代码 error_reporting(E_ALL);

3.出现类似 "Notice: Undefined index:xxx in..."的错误提示
答:此为5.3(如果没记错)版本后的一个新变化,这并不是一个错误,仅仅是一个提示。
提示内容是变量未声明就使用了。
解决的方法可以是:
a.关闭出错提示(或修改出错提示等级)。参考常见问题2 修改 display_errors = Off
b.在提交的参数 例如 $_POST['test']赋值之前添加 if (issset($_POST['test']))判断,其他
变量提示可以用初始化赋值的方式代替.例如 $test='';

4.数据库或者页面输出中文乱码,但是英文以及数字没有任何问题
答:一般这种问题都是编码引起的,所以保持所有编码一致就是解决问题的方法.
以gbk为例
php文件头输出 header ( "Content-Type: text/html; charset=gbk" );
php链接数据库之后执行 mysql_query("SET NAMES 'gbk'");
数据库/表编码设置为gbk
文件编码 检查是否为ANSI

5.如何搭建php 的运行工作环境?
答:我们将会有一个详细的帖子来介绍这个方面的内容,如果是刚开始学习的同学推荐你使用集成
的安装包来学习,由于php版本比较多所以如果仅仅参考网上的教材很容易造成学习的困惑。
请直接下载以下相应系统的完整安装包,运行安装,配置问题请参考官方的帮助文档。

Windows:http://www.apachefriends.org/zh_cn/xampp-windows.html
Linux:http://www.apachefriends.org/zh_cn/xampp-linux.html

6.为什么我看到有的代码里用<? ?>就可以,而不需要这样<?php ?>
答:在php.ini中有一个短标记的选项,打开即可short_open_tag = On 记得如果前面有# 请删除这个注释符号。
个人并不推荐打开这个功能,请按照<?php ?>的方式来书写代码.

7.常用php的开发工具有哪些?
答:如果你喜欢看起来很专业功能繁多的开发工具
eclipse zendstudio phpdesinger phpstorm netbeans ...
如果你喜欢朴素,原始的开发工具
记事本 notepad++ editplus ....
Linux下基本上上面所列IDE都有,朴素的可用Vim Gvim ...

8.在浮点数运算的过程中出现“灵异”现象?
答:Warning
浮点数精度
显然简单的十进制分数如同 0.1 或 0.7 不能在不丢失一点点精度的情况下转换为内部二进制的格式。这就会造成混乱的结果:例如,floor((0.1+0.7)*10) 通常会返回 7 而不是预期中的 8,因为该结果内部的表示其实是类似 7.9999999999...。
这和一个事实有关,那就是不可能精确的用有限位数表达某些十进制分数。例如,十进制的 1/3 变成了 0.3333333. . .。
所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用任意精度数学函数或者 gmp 函数

9.UTF8编码的文件session_start(),header(),settcookie()等函数出错,提示"headers already sent "。

答: UTF8编码通常的编辑器都会在文件头部加上三字节的BOM编码来识别UTF8编码格式,这三个字节是普通文件编辑器看不到,而输出时去先行以HTML输出了。执行以上函数时就会提示以上错误。解决办法:用editplus等可以清除BOM的编辑器,清除BOM(设置为utf8清除BOM)保存一下即可。

10.mysql和php编码应该注意的一个地方.
答:需要提醒大家的是 mysql 里 SET NAMES 'UTF8';这里是没有横杠的,而php 的正确写法是 UTF-8,很多初学者在这个地方容易弄混和不解,希望特别注意这个小小的区别。
...全文
4110 2 收藏 45
写回复
45 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wucl111 2013-10-16
很好的帖子,頂一個
回复
fl_zxf 2013-10-08
菜鸟顶一个
回复
memory_qian 2013-09-27
求更新。
回复
trainee 2013-06-08
引用
4.数据库或者页面输出中文乱码,但是英文以及数字没有任何问题 答:一般这种问题都是编码引起的,所以保持所有编码一致就是解决问题的方法. 以gbk为例 php文件头输出 header ( "Content-Type: text/html; charset=gbk" ); php链接数据库之后执行 mysql_query("SET NAMES 'gbk'"); 数据库/表编码设置为gbk 文件编码 检查是否为ANSI
更正一下, 数据库/表编码不用设为gbk也可以, 因为有前面set names gbk这条语句,mysql会自动帮你转换.当然数据库/表编码必需是和gbk有转换关系的编码如gb2312,utf8.
回复
bonnie7128cn 2013-06-04
支持,很有用
回复
「已注销」 2013-05-28
新手学习,理解有点难度。
回复
chenjungang123 2013-05-08
如果是第一个问题 我那个apache安装好了 it works 也可以 就是php文件不能运行 咋个解决呢
回复
makingjc 2013-03-14
好像第九条写错了一个函数名settcookie()应该是setcookie()吧,我是初学者,不知道说的对不对
回复
a770137962 2013-03-04
很不错呀,有些问题一直心里疑惑,但是没有找到答案,今天终于疑惑大解
回复
muxi777 2013-02-05
看看。。。。。
回复
zhanghaoranjn 2013-01-30
学习了 学习了
回复
louqqson007 2012-12-28
学习学习,感谢版主
回复
谢谢!初学者必看!
回复
sunliang1314 2012-10-19
常见的很经典的问题
回复
boxiaobo 2012-09-20
学习了,有所收获
回复
10975037 2012-07-11
呀呀,都是基础啊,学习了!
回复
sinbasara 2012-04-30
回想当时不断谷歌度娘,内牛满面啊
回复
iamjianhua 2012-04-27
非常有用
回复
Aray 2012-03-16
学习了,想找一个PHP开发工具
回复
shinewall 2012-03-06
学习了,我刚来的学生哦··
回复
加载更多回复
相关推荐
发帖
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
帖子事件
创建了帖子
2012-01-19 12:13
社区公告
暂无公告