到今天為止第一個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真正的強大還在後面呢!
From:http://tw.wingwit.com/Article/program/net/201311/12206.html