PHP5安裝配置指南
本例安裝文件在這裏下載
apache2.2.4 MySQL5.0.37
php5.2.1(zip)
Apache 的安裝
1 點擊apahce安裝包
2 接受協議
3 下面3項隨便填即可
apache 監聽80 端口.如果iis用了80端口,修改iis端口或者apache端口,以免衝突
4 這裏默認的是 typical,建議選custom,點擊next.
5 這裏可用修改安裝路徑,注意安裝路徑不能含中文.
6 點擊install開始安裝
7 安裝完成後在瀏覽器裏打入 http://localhost 或者 http://127.0.0.1
如果可以看到這個頁面,證明apache安裝成功,已經可以解釋靜態頁面了
1 點擊MySQL安裝包
2 默認是Typical,如果想修改安裝路徑的話也可以選擇custom.
注意:安裝mysql的路徑中,不能含有中文!
3 點擊intall開始安裝
4 跳過註冊
5 是否現在就配置 MySQL.也可以之後在開始菜單的configuration wizard 進行配置.
這裏是現在進行配置
6 選擇Detailed Configuration(詳細設置),點Next繼續
7 下面這個選項是選擇mysql應用於何種類型,第一種是開發服務器,
將只用儘量少的內存,第二種是普通WEB服務器,將使用中等數量內存,
最後一種是這臺服務器上面只運行MySQL數據庫,將佔用全部的內存.
用戶可根據自己的需求,選擇選項.這裏只選擇開發服務器,點Next繼續
8 下面是選擇數據庫用途,第一種是多功能用途,
將把數據庫優化成很好的innodb(事務)存儲類型和高效率的myisam(非事務)存儲類型,
第二種是隻用於事務處理類型,最好的優化innodb,但同時也支持myisam,只有myisam才支持全文索引
最後一種是簡單的網絡開發,適合於簡單的應用,只有不支持事務的myisam類型是被支持的.
一般選擇第一種多功能的.
9 下面是選擇InnodDB的數據存放位置,一般默認好了,不需要改動
(如果要修改數據保存路徑,也可用在安裝後修改my.ini的datadir的值)
10 下面是選擇MySQL允許的最大連接數,第一種是最大20個連接併發數,
第二種是最大550個併發連接數,最後 一種是自定義,你可以根據自己的需要選擇.
這裏選擇第一個
如果改成其他端口,以後連接數據庫的時候都要記住修改的端口,否則不能連接mysql數據庫,
比較麻煩,這裏不做修改,用mysq的默認端口:3306
12 這一步設置mysql的默認編碼,默認是latin1,也是標準的編碼.第二種是UTF8,第三種是手動設置.
編碼是版本4.1以上引入的.如果要用原來數據庫的數據,最好能確定原來數據庫用的是什麼編碼,如果這裏設置的編碼
和原來數據庫數據的編碼不一致,在使用的時候可能會出現亂碼.建議使用latin1標準編碼
13 這一步是是否要把mysql設置成windows的服務,一般選擇設成服務,
這樣以後就可以通過服務中啓動和關閉mysql數據庫了.推薦:下面的複選框也勾選上,
這樣,在cmd模式下,不必非到mysql的bin目錄下執行命令.在命令行下諮詢可以執行文件
14 這一步是設置mysql的超級用戶密碼,這個超級用戶非常重要,
對mysql擁有全部的權限,請設置好並牢記超級用戶的密碼,
下面有個複選框是表示創建一個匿名賬號,這會使數據庫系統不安全.
如果有這個需求,也請勾選.
15 點擊 Execute進行安裝
16 點擊finish完成安裝
如果在第15步,出現下圖提示
是因爲你之前裝過mysql.卸載時還保留了一些配置文件.
點擊retry看看是否可以通過。否則點擊 cancel 退出.然後點擊開始菜單的 MySQL Server Instance Config Wizard
重新配置 mysql
重複之前的操作.第14步將會出現界面是像下面這樣
有三個輸入密碼的地方,你原來裝過mysql.
你在第一個文本框輸入原來root的密碼,後面兩個文本框輸入root的新密碼就可以了
如果還是不行那就重裝一次MySQL。
重裝注意事項:最好刪除原來的所有文件,必要的話,可以清一下注冊表,
如果你機器上沒有其它mysql相關的程序.而且一定記得不要保留原有的my.ini文件.
還有就是刪除原來安裝路徑下的文件,並刪除數據目錄下面的ibdata1文件.
PHP 的安裝
由於php是一個zip文件(非install版),安裝較爲簡單
解壓就行.把解壓的 php-5.2.1-Win32 重命名爲 php5.並複製到C盤目錄下.即安裝路徑爲 c:\php5
1 找到php目錄下的 php.ini.recommended (或者php.ini-dist)文件,重命名爲 php.ini
並複製到系統盤的windows目錄下(以c:\windows爲例).
2 再把php目錄下的php5ts.dll,libmysql.dll複製到目錄 c:\windows\system32下.
3 把php5\ext目錄下的php_gd2.dll,php_mysql.dll,php_mbstring.dll文件複製到c:\windows\system32下
注意:不要把 php_mysql.dll 和 php_mssql.dll 混淆
如果沒有加載 php_gd2.dll php將不能處理圖像.沒有加載php_mysql.dll php將不支持mysql函數庫
php_mbstring.dll在後面使用phpmyadmin時支持寬字符
配置php並關聯MySQL
打開c:\windows\php.ini文件
1 設置擴展路徑
查找 extension_dir 有這麼一行
extension_dir = "./"
將此行改成
extension_dir = "C:\php5\ext"
其中C:\php5是你安裝php的路徑.路徑不正確將無法加載dll
(注意:有些php版本是 ;extension_dir = "./" 要把前面的分號去掉)
2 分別查找
;extension=php_mbstring.dll
;extension=php_gd2.dll
;extension=php_mysql.dll
把上面3項前面的分號去掉,這樣apache啓動時就可以加載這些dll了
注意不要把 ;extension=php_mysql.dl 和 ;extension=php_mssql.dl 混淆
當然前面我們也把這些dll複製到system32下了.(大家在安裝的過程中都注意到如何把一些dll加載入來了.
以後要加載一些dll,比如說php_mysqli.dll,也就懂得怎麼加載了)
3 設置會話保存路徑
查找session.save_path 有這麼一行
; session.save_path = "N;/path"
在此行後加入一行(注意是加入一行,不是加到後面)
session.save_path = "C:\WINDOWS\Temp"
保存到你的臨時目錄下,這裏完全可以保存到windows臨時目錄Temp下
4 還有比較值得注意的是 short_open_tag .有一些php版本默認是Off的.
也就是說 php不能使用短標記如 <? ?> 必須使用<?php ?>
由於短標記使用方便,並且很多程序也是用短短標記來寫,如discuz等
如果不把 short_open_tag 改成On將出現的症狀將很難判斷是上面原因,這裏建議修改
查找
short_open_tag = Off
改爲
short_open_tag = On
5 是否顯示錯誤 display_errors
出於安全性考慮,display_errors 有些版本也默認爲 Off.
就是說在調試時,如果php代碼有誤,就只出現一個空白頁.而不會顯示出錯原因和出錯行數.
這樣調試起來將非常不便,建議根據自己需要修改
查找
display_errors = Off (注意不是 ; - display_errors = Off [Security])
改成
display_errors = On
6 顯示NOTICE敬告提示
第五步雖然打開了出錯提示,但出錯報告還受到 error_reporting 的控制.
php5默認關閉NOTICE敬告提示,如果是在本地調試,建議打開NOTICE敬告提示.
查找
error_reporting = E_ALL
改成
error_reporting = 7
另外提示一下,在程序中也可以通過error_reporting()控制錯誤報告輸出,具體怎麼用大家參考下手冊.
7 register_globals
出於安全性考慮它默認也是Off
當register_globals=Off的時候,下一個程序接收的時候應該用$_POST['user_name']和$_POST['user_pass'])
當register_globals=On的時候,下一個程序可以直接使用$user_name和$user_pass來接受值.
建議根據自己需要修改,爲了兼容問題,我還是把它改成On了.
8 php5時差問題
<?php echo date("Y-m-d H:i:s");?>時間相差八小時
爲什麼呢?PHP5系列版本新增了時區設置,默認爲格林威治時間,與中國所在的東8區正好相差8個小時
查找date.timezone有這麼一行
;date.timezone =
將;去掉,改成
date.timezone = PRC
其中PRC:People's Republic of China 中華人民共和國,
9 php5上傳文件問題
a. 一般的文件上傳,除非文件很小.就像一個5M的文件,很可能要超過一分鐘才能上傳完.
但在php中,默認的該頁最久執行時間爲 30 秒.就是說超過30秒,該腳本就停止執行.
這就導致出現 無法打開網頁的情況.這時我們可以修改 max_execution_time
在php.ini裏查找
max_execution_time
默認是30秒.改爲
max_execution_time = 0
0表示沒有限制
另一種方法是可以在php程序中加入
set_time_limit();
來設定頁面最久執行時間.
set_time_limit(0);//0表示沒有限制
b. 修改 post_max_size 設定 POST 數據所允許的最大大小。此設定也影響到文件上傳。
php默認的post_max_size 爲2M.如果 POST 數據尺寸大於 post_max_size $_POST 和 $_FILES superglobals 便會爲空.
查找 post_max_size .改爲
post_max_size = 150M
c. 很多人都會改了第二步.但上傳文件時最大仍然爲 8M.
爲什麼呢.我們還要改一個參數upload_max_filesize 表示所上傳的文件的最大大小。
查找upload_max_filesize,默認爲8M改爲
upload_max_filesize = 100M
另外要說明的是,post_max_size 大於 upload_max_filesize 爲佳.
Apache整合PHP
1 打開apache配置文檔,以作者的電腦爲例:D:\myphp\apache2.2\conf\httpd.conf
2 修改網站根目錄
查找DocumentRoot有這麼一行
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
這就是你網站的根目錄,你可以修改,也可以用默認的.如果改,還要修改下面這項,否則可能會出現 403 錯誤
查找 This should be changed to whatever you set DocumentRoot to
在它下面兩行有
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
把上面兩項的 C:/Program Files/Apache Group/Apache2/htdocs 改成你想要的目錄
3 查找 DirectoryIndex index.html
修改成
DirectoryIndex index.html index.html.var index.php
這樣index.php 可以充當默認頁面了
4 Apache中模塊化安裝php
查找 # LoadModule foo_module modules/mod_foo.so
在此行後加入一行
LoadModule php5_module C:/php5/php5apache2_2.dll
(其中C:/php5/php5apache2_2.dll是你安裝php的相應路徑.
注意不要把php5apache2_2.dll,php5apache2.dll和php5apache.dll混淆.php5apache.dll只適用於apache 版本1的.
PHP5壓縮包裏的php5apache2.dll只適用於apache2.0.*版本,如果是2.2.*以上版本,必須使用php5apache2_2.dll.否則就可能會出現
"Cannot load C:/php/php5apache2.dll into server: The specified module could not be found."
或者:
"The requested operation has failed"
的情況.
不過php5apache2_2.dll出來之後也就沒有多少參考價值了)
5 查找 AddType application/x-gzip .gz .tgz
在此行後加入一行
AddType application/x-httpd-php .php
這樣apache就可以解釋php文件了
到這裏配置基本完成了
6 重啓apache,在網站根目錄下創建一個 phpinfo.php 文件
<?php
phpinfo();
?>
在瀏覽器中打開。如果能正常看到php的信息,則說明php已經配置好了。