1.php版本簡介
php各版本之間的區別,php版本後面一般有VC6和VC9、Thread Safe和Non Thread Safe的區別,VC6就是legacy Visual Studio 6 compiler,就
是使用這個編譯器編譯的,VC9就是the Visual Studio 2008 compiler,就是用微軟的VS編輯器編譯的,如果你選用的是Apache或者其他服務軟
件,那麼選擇VC6,選用的是IIS的話,那麼請下載VC9 的。Thread Safe 是安全執行緒,而Non Thread Safe就是非安全執行緒, 官方並不建議你將
Non Thread Safe 應用於生產環境,所以一般選擇Thread Safe版本的下載就可以了。下載Zip包就可以了。
2.php下載,選擇哪個版本
http://windows.php.net/download/,筆者選擇的是php-5.3.16-Win32-VC9-x86.zip
(1)如果用的是apache1或apache2,請選擇vc6版的php
(2)如果用的是IIS,你應該選擇VC9版的PHP
VC6的版本是用Visual Studio 6編譯的,VC9是用Visual Studio 2008編譯的,提升了效能和穩定性,VC9版本需要安裝Microsoft 2008 C++
Runtime,http://www.microsoft.com/en-us/download/details.aspx?id=29,或者安裝VC10,
http://www.microsoft.com/download/en/details.aspx?id=8328
3.下載和安裝apache
(1)http://httpd.apache.org/download.cgi,筆者下載的是httpd-2.2.22-win32-x86-openssl-0.9.8t.msi
(2)apache安裝:
在這裡主要配置
Network Domain:yourdomain.com
Server Name:www.yourdomain.com
Email:username@126.com
Apache服務的佔用連接埠,預設為80連接埠,你可以根據需要配置在其他連接埠,Apache的安裝目錄你可以使用預設目錄或根據需要自行選擇安裝目錄
在完成apache服務的安裝後,在遊覽器中輸入http://localhost/,出現It's work!字樣,說明Apache服務安裝成功了。
(3)如果啟動apache時,報了“(OS 10013)以一種存取權限不允許的方式做了一個訪問通訊端的嘗試。 : make_sock: could not bind to
address 0.0.0.0:80”的錯誤。
用netstat -ano查看80連接埠已被佔用,通常80連接埠會被IIS佔用。
(4)解決方案:開啟Apache安裝目錄\conf\httpd.conf檔案,需要修改listen 80--》listent 88
(5)在瀏覽器裡輸入http://localhost:88即可
(6)如果啟動apache出錯“httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.1.111
for ServerName”是因為DNS沒配置好. 如果不想配置DNS, 就在httpd.conf中去掉ServerName前的#,修改為 ServerName 127.0.0.1:88
4.php的安裝和配置
(1)將php-5.3.16-Win32-VC9-x86.zip解壓至d:\php
(2)php.ini-development設定檔重新命名為php.ini
(3)開啟php.ini檔案,找到如下文本
; On windows:
; extension_dir = "ext"
去掉extension_dir前的“;”,修改為extension_dir = "D:/php/ext" 表示指定PHP擴充包的具體目錄,以便調用相應的DLL檔案。
(4)由於預設PHP並不支援自動連接Mysql,需開啟相應的擴充庫功能,比如php_mysql.dll等,找到如下dll文本,去掉前面的";"
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_xmlrpc.dll
(5)配置php的session功能
在使用session功能時,我們必須配置session檔案在伺服器上的儲存目錄,否則無法使用session,我們需要在Windows 7上建立一個可讀寫的目
錄檔案夾,此目錄最好獨立於WEB主程式目錄之外,此處我在D盤根目錄上建立了phpsessiontmp目錄,然後在php.ini設定檔中找到
;session.save_path = "/tmp"
修改為
session.save_path = "D:/phpsessiontmp"
(6)配置PHP的檔案上傳功能
同session一樣,在使用PHP檔案上傳功能時,我們必須要指定一個臨時檔案夾以完成檔案上傳功能,否則檔案上傳功能會失敗,我們仍然需要在
Windows 7上建立一個可讀寫的目錄檔案夾,此處我在D盤根目錄上建立了phpfileuploadtmp目錄,然後在php.ini設定檔中找到
;upload_tmp_dir =
修改為
upload_tmp_dir = "D:/phpfileuploadtmp"
php預設上傳檔案大小為2M,
upload_max_filesize = 2M,可以根據自己的要求將其修改為
upload_max_filesize = 8M
(7)時區設定
修改date.timezone,否則在執行phpinfo時date部分會報錯:Warning: phpinfo() [function.phpinfo]…,在php.ini設定檔中找到
;date.timezone =
修改為
date.timezone = Asia/Shanghai
5.配置Apache支援PHP,所以還需要在Apache設定檔中完成相應的PHP配置
(1)開啟d:/apache/modules/mod_vhost_alias.so
在#LoadModule vhost_alias_module 下添加
LoadModule php5_module "c:/php/php5apache2_2.dll"
PHPIniDir "c:/php"
AddType application/x-httpd-php .php .html .htm
我們在PHP目錄下可以看到多個php5apache的DLL檔案,由於我們使用的是Apache2.2.15,所以我們當然需要使用php5apache2_2.dll,接著指定
PHP的安裝目錄以及執行的程式副檔名。
(2)再次開啟apache的httpd.conf 修改DocumentRoot
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
修改為
DocumentRoot "D:/PHPWeb"
(3)修改Directory
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
修改為
<Directory "D:/PHPWeb">
(4)修改具體的index檔案先後順序,由於配置了PHP功能,當然需要index.php優先執行
DirectoryIndex index.html
修改為
DirectoryIndex index.php index.html
(5)開啟支援rewrite module
#LoadModule rewrite_module modules/mod_rewrite.so 去掉前面#,
修改為 LoadModule rewrite_module modules/mod_rewrite.so
6、重啟Apache伺服器
至此,在Apache伺服器上PHP環境配置工作就完成了,你只需要在D:/PHPWeb目錄下建立一個PHP檔案,寫入複製代碼 代碼如下:<?php
phpinfo();
?>
然後在瀏覽器中輸入http://localhost:88,就可以看到PHP的具體配置頁面了,代表在Window 7上PHP環境配置工作就算完成了。
7.測試資料庫連接
建立testdb.php
複製代碼 代碼如下:<?php
$connect=mysql_connect("127.0.0.1","root","**");
if(!$connect)
echo "Mysql Connect Error!";
else
echo "db connect 你好";
mysql_close();
?>
若出現中文亂碼,修改php.ini配置 default_charset = "utf-8"
8.如果你的如上配置太複雜,那麼可以用wamp傻瓜化安裝包,http://www.wampserver.com
因為WAMPSERVER (32 BITS & PHP 5.3) 2.2E裡就包含了
Apache 2.2.22 – Mysql 5.5.24 – PHP 5.3.13 XDebug 2.1.2 XDC 1.5 PhpMyadmin 3.4.10.1 SQLBuddy 1.3.3 webGrind 1.0
筆者在自己電腦上用wamp發現雖然在PhpMyadmin建資料庫和表時設定裡UTF-8還是出現亂碼,解決辦法是在mysql_connect()之後加入
複製代碼 代碼如下:mysql_query("set names utf8");
即可解決中文亂碼