php開發環境搭建和基礎入門
韓順平php系列課程php開發環境搭建筆記
本節要點:1.搭建php開發環境2.初始php3.B/S和C/S的區別
4.Apache伺服器工作機制分析5.連接埠 6. apache目錄、虛擬目錄
7.虛擬機器主機的配置 詳細內容如下:
1.搭建php開發環境。
apache預設情況下不會處理php頁面,需要搭建php開發環境。
(1)在windows下搭建 apache(iis)+php+mysql=phpadmin
a.套件安裝 appserver、wmap這些軟體將所需軟體打包 缺點是不靈活,升級困難。
b.自訂安裝
注意這裡安裝版本為apache2.2 php-5.3.5-Win32-VC6-x86 版本,不同版本安裝方法有區別,特別是win7系統下 安裝可能不成功。
step1:安裝 apache
apache安裝介面如所示:
安裝完畢後需要配置環境變數,環境變數設定後可以在任意路徑後使用。配置環境變數如所示:
最後,測試安裝是否成功。
a.開啟或者關閉apache服務
(1)通過使用者介面控制 在Window中通過[管理]-->服務來管理或者通過apache內建使用者介面管理.
Window中通過[管理]開啟服務如所示:
通過apache內建使用者介面管理開啟服務如所示:
(2)命令列控制apache服務
step1:進入控制台後運行httpd.exe程式
step2:httpd -k start[shutdown][restart]啟動
b.瀏覽器中輸入http://localhost測試,測試成功時效果如所示:
step2:安裝php
解壓php-5.3.5-Win32-VC6-x86(注意vc6版本適合apache和php
組合 vc9適合iis和php) 即可 但是要整合apache和php
a.將以下代碼複製到apache中:
#讓apache載入php處理模組
LoadModule php5_module c:\myenv\php\php5apache2_2.dll
#指定php的ini檔案 該檔案儲存php配置
PHPIniDir "c:\myenv\php"
#配置表示*.php檔案由php處理
AddType application/x-httpd-php .php
b.將php.ini-development檔案改成php.ini
c:測試apache與php整合成功
測試檔案test.php代碼如下:
<?php
phpinfo();
?>
測試成功時效果如所示:
step3:安裝MySQL
MySQL安裝介面如所示:
MySQL安裝成功與否的測試檔案test.php,代碼如下:
<?php$conn=mysql_connect("localhost","root","root");if($conn){ echo "串連mysql資料庫成功!";} else { echo "串連資料庫失敗!"; }?>
在沒有配置時提示錯誤:Fatal error: Call to undefined function mysql_connect() in C:\myenv\Apache\htdocs\test.php onlini檔案中關於 php_mysqli.dll和php_mysql.dll兩個動態連結程式庫.
(2)在linux下 linux+apache+mysql+php-->lamp
這裡不講述。
補充:如果機器,由於先前某些安裝不正確,安裝不正確的服務如所示:
要刪除一些服務方法有兩種:
a.運行sc.exe 在上面運行 sc delete 服務名
如所示:
b.註冊表刪除 HKEY-LOCAL_MACHINES\SYSTEM\CurrentControlSet\Services 刪除相應的主索引值.
2.初識php
(1)web開發分為:
a.靜態web開發(html頁面) 一個頁面始終是一成不變的,則屬於靜態web開發,利用html技術就好。
b.動態web開發() 比如網站上要發帖、網上支付、發簡訊、發郵件等功能,就需要資料互動,屬於動態web開發。動態網頁面的資料由背景程式產生的,不同時間點訪問網站看到不同內容。
(2)動態網頁面技術 php、jsp、asp--->asp.net 、cgi(linux)
(3)動態網頁技術發展曆程 html在1993年出現後為了彌補其不能和使用者進行互動,陸續出現了下列網頁技術:
a.cgi技術 是最早動態網頁技術,發展比較成熟且功能強大。但是cgi語言效率比較低,編程比較困難。現在應用較少,主要用於linux/unix 下.
b.微軟asp asp是html+javascrip(vbscript)+com組件形式asp的功能強大,但是其需要com組件支援,而開發com組件開發比較困難的,另外asp是與windows系統和iis一起工作的,安全性較低,跨平台性差,實現企業級的功能困難。
c.sun公司 (後被oracle收購)jsp jsp=html+java片段+jsp文法+js
一次編寫,到處運行,良好的跨平台性;但是jsp產品的複雜度高,jsp運行要求機器配置高.
d.php 目前由Zend管理www.php.net
跨平台性良好,多種資料庫支援 效率較高,具有良好的安全性,免費使用成本低,開放原始碼,上手快,物件導向程式設計。缺點是安裝複雜,配置比較多;資料類型太靈活,解釋執行,所以有些錯誤到運行時才會暴露。
(4)php 最早使用者維護個人首頁Personal HomePage, php Hyperttext Preprocessor,php是一種html內嵌語言,是一種在伺服器端執行的嵌入html(<?php //php 代碼 ?>)文檔的指令碼語言,語言風格類似於c語言,被廣泛的運用,php目前的開發和商業化由Zend公司負責。
(5)開發工具 EditPlus Zend Studio PHP Coder phpedit easyeclipse dw
補充:軟體開發的一個原則:編譯環境和運行環境要一致。
3.B/S和C/S結構的比較
伺服器在這裡是指安裝了伺服器程式的電腦
(1)B/S Browser瀏覽器/Server伺服器
B/S結構如所示:
a.開發時主要考慮伺服器端,用戶端由使用者瀏覽器提供,開發成本低。
b.成本低,管理維護簡單,升級產品便利
c.使用者使用方便,對使用者培訓費用低。
缺點:安全性不足,用戶端不能隨心變化,受瀏覽器的限制。
(2)C/S Client用戶端/Server伺服器
C/S結構如所示:
a.需要開發用戶端和伺服器端。
4.apache工作機制分析
apache基於模組化設計的,總體上看起來代碼的可讀性高於php的代碼。
apache啟動階段:
開始--》解析設定檔--》載入靜態/動態模組--》系統資源初始化--》結束
apache模組化設計如所示:
5.連接埠
(1)實際開發中,我們經常使用 netstat -an 來查看哪些連接埠在監聽,如果發現異常連接埠在監聽,則可以關閉該連接埠 使用命令netstat -anb 查看那個進程在監聽,然後使用taskkill關閉該進程。
netstat -an命令使用如所示:
netstat -anb命令使用如所示:
(2)一台電腦的80連接埠被apache監聽,則該連接埠不能再被其他的應用程式監聽。
(3)連接埠佔用時可以通過修改apache的監聽連接埠來解決。
apache軟體的配置是在httpd.conf檔案中進行相應的配置,預設連接埠號碼為80,如所示:
修改預設連接埠為81後,測試如所示:
補充:apache可以監聽多個連接埠.
6.apache目錄、虛擬目錄
apache目錄檔案說明如所示:
虛擬目錄問題由來:假設apache的安裝目錄磁碟空間不夠,而D盤空間足夠,如何將d盤中的檔案作為網站檔案訪問。
(1)虛擬目錄配置兩個步驟:
step1:配置虛擬目錄在apache的conf目錄下httpd.conf的<ifModule dir_module>節點後添加如下代碼:
#添加虛擬目錄
<ifModule dir_module>
#歡迎頁面
DirectoryIndex index.html index.htm index.php
#網站別名
Alias /webtest "d:/webtest"
<Directory d:/webtest>
#存取權限設定
Order allow,deny
Allow from all
</Directory>
</ifModule>
step2:登出Documentroot部分
(2)檔案使用權限設定
<Directory d:/webtest> //
#存取權限設定
Order allow,deny //Order allow允許所有ip,deny拒絕所有
Allow from all //允許所有 最終允許所有
</Directory>
</ifModule>
7.虛擬機器主機的配置
虛擬機器主機問題由來:訪問http://localhost方式不夠方便和美觀,怎麼才能配置像www.baidu.com這種網域名稱.
配置虛擬機器主機的方法如下:
step1:啟用httpd-vhosts.conf檔案 在httpd.conf中找到Virtual hosts部分,取消include注釋.
# 配置虛擬機器Virtual hosts
Include conf/extra/httpd-vhosts.conf
step2: 在conf/extra/httpd-vhosts.conf中添加虛擬機器主機配置
<VirtualHost 127.0.0.1:80>
ServerAdmin webmaster@dummy-host.mshome.net
DocumentRoot "d:/webtest"
ServerName dummy-host.mshome.net
ServerAlias www.dummy-host.mshome.net
#配置歡迎頁面
DirectoryIndex index.html index.htm index.php
<Directory />
Options FollowSymLinks
#不許可別人修改我們的頁面
AllowOverride None
#存取權限設定
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
step3:修改hosts檔案
hosts檔案位於:C:\Windows\System32\drivers\etc .
以重新導向到www.baidu.com為例,在hosts檔案為加上:
127.0.0.1 localhost
127.0.0.1 www.baidu.com
兩行。
或者使用DOS控制台命令也可以,如所示:
虛擬機器主機重新導向效果如所示: