php

位置:IT落伍者 >> php >> 浏览文章

简单学习php遇到的主要问题


发布日期:2023年11月04日
 
简单学习php遇到的主要问题

到今天为止第一个PHP写的网站已经快要见亮了中午后台部分全部功能完成意味着以后做别的站可以拿来就用不用再费太多精力编写了现在就简单写写学习php的这一个月我遇到的主要问题

问题环境搭配

php最经典的组合当然是LAMP(Linux+Apache+MySQL+PHP)了不过我没有条件和精力弄Linux所以用Windows 代替Linux了自己调试用又不是做服务器所以不要求性能足够用了

本身我的机器是Win+IIS+Framework环境能跑起来并且装有JDK+tomcat+Oracle还能跑起来JSP本打算不破坏这些环境再安装apache和mysql不过困难重重啊

于是放弃jsp环境并且用ghost备份了asp环境删掉IIS后重新安装PHP环境环境还是很好搭的在百度上轻易的找到教程照着安装就可以Apache+PHP+MySQL+PHPMyAdmin没有安装Zend以后深入学习的时候再说吧没有研究明白多个网站的时候怎么存在不同的路径运行在不同端口也先不管了现在端口跑吧环境调试好了以后备份了一个ghost算是php环境成功搭起来了

问题对utf编码文件的标记BOM导致的页面空行

这个问题以前在学习xhtml+css的时候遇到过那时候是因为文档声明类型前面加别的代码了或者没有写文档声明类型xhtml却用wc的标准做页面导致的起初我以为也是把require写在文档声明前面出的问题呢后来反复调试发现不是这么简单后来上百度搜索了很多关于require引起空行的问题有一个牛人提到了要在dreamweaver里面ctrl+j把utf编码的BOM去掉当时也不懂BOM是啥说去掉就去掉吧确实解决问题了这算是把这一关过去了不过后面还有utf的问题呢也是跟这个有关系

问题php下checkbox的取值问题

这是我发现php唯一一个不方便的地方不像asp那样所有同名的checkbox的值存成一个集合php只能取同名里最后一个checkbox的值在做多数据where in (aabbccdd)查询的时候很不方便只能用js+一个hidden input的方法实现虽然有点小麻烦不过不是大问题很容易就解决了上网查了一下也确实只有这么才能解决!

问题Access库转到MySQL的问题

毕竟数据库已经设计好了再在PHPMyAdmin中建一次表也很麻烦索性找个软件来直接转库还不错让我找到各爆好用的软件不过全英文界面名字没记住明天去公司看看再发上来库很轻松的转过来了但是我手很贱看到MySQL里面的data文件夹下有和我建的数据库一样名字的文件夹我以为有这个文件夹就不用建库倒库了一时兴起把没用的都删掉了问题来了PHPMyAdmin连不上库了这个倒是好解决重装了一次MySQL解决问题可是我没备份就换回ASP环境再换回来的时候MySQL出大问题了重装都不管用了上百度一顿神搜最终csdn的牛人给了答案把libmysqldll和phptsdll考到system解决问题

问题NTFS权限问题

这个问题ASP上也出现过不过换在PHP环境就没多一份心往这方面想所以足足憋了我一上午发现这个问题是在朋友的服务器上前一天喝酒正好认识一个哥们儿遇到php建站的问题了接着酒劲我就装了一把说我php多牛多牛啊知道的我才学星期哈哈哈第二天就给人家解决问题吧牛都吹出去了也不能不管人家连上服务器一看原来是安装phpcms的时候遇到了MySQL问题安装无法继续进行了百度上一顿神搜找到问题关键了是NTFS权限问题这就好解决了加个Internet来宾用户就解决了估计自己以后也会遇到这问题所以早遇到比晚遇到强关键时候知道怎么回事儿!

问题Cookies读写问题

这个问题应该不是很大的问题只不过当天马上下班了没有来得及解决第二天很轻易的就搞定了刚开始学习肯定语句掌握的不多以为$_COOKIE[xxx]既可以读也可以写呢用到这儿的时候才发现部对路子上网随便一搜php cookies 写入答案就来了setcookie即可真简单啊

问题php分页

用ASP的时候SQL语句也没深入研究根本就不知道limit这回事儿我说以前看淘宝百度的分页上有 这样的参数传递呢都是干分页用的稍补了一堂SQL课程问题迎刃而解页数判断那里原理都一样就没当成问题一路绿灯解决战斗!

问题创建utf文件写入中文乱码问题问题的后续问题

一开始就把这个功能做好了只不过没用中文测试后来做到有中文的地方发现这里不灵了哎呀那个头疼啊这个问题收拾了我好几天一直没解决为了不被这个问题困扰所以就先用英文写入把这里条过去了昨天必须得解决这里了所以就硬下头皮整吧还是BOM的签名问题以下均为我自己理解不知道对不对Windows环境识别UTF与ANSI文件靠的是UTF文件前的一个叫做BOM签名的东西这个东西普通的文本编辑器是看不到的 xEF xBF xEE好像是这三个进制字符反正是三个东西问题里毛病也是他们三个整出来的UTF在Windows下虽然要用这三个家伙区分在php下确实没有用的东西要不问题里面为啥要去掉BOM签名呢怪就怪我在做ASP的时候遇到过同样的UTF文件写入中文乱码问题所以就留了个心眼先在网上艘了一个UTF文件在php写入的函数里面就把那三个讨厌的东西加进去了哎呀我去这就是聪明反被聪明误这顿调试就是不行啊后来我也是恍然大悟把这三个家伙去掉了问题解决了那个畅快啊

还有很多小问题就不细说了比如$的转义符是chr()啊SQL中的关键词from啊(在asp中不是关键词)时间函数的使用(巨方便比ASP的用着舒服)

经过将近一个月时间的学习发现php确实很强大而且很好学前提是有一门Web服务器端语言基础感觉有很多ASP上需要重点考虑的问题在php上已经不是问题了都替你想好了而且php速度很快没有用Zend我就能感觉出比ASP+Access要快很多了在速度上根本不能比的代码也很简捷除了我说的checkbox稍微麻烦一些其他地方代码都要比asp精简好多地方都很灵活比如变量的定义$开头的变量让命名少了很多约束很多要用连字符把字符串和变量连起来使用的地方因为有$的存在都不用连字符了因为$代表变量所以不用特别强调总之php是很好很强大真的很适合做网站呢

下一步学习在熟悉语句语法的同时要加强自己面向对象的思想php真正的强大还在后面呢!

               

上一篇:PHP ASP.NET的较量

下一篇:php设计模式介绍之迭代器模式