php5.4.14/5.3.24/5.2.17安裝(In windows),配置Apache,MySQL,phpMyAdmin,zendOptimizer,xdebug

來源:互聯網
上載者:User

上上周5.3.7的MD5漏洞,官方4天后更新了php5.3.8 正好windows的系統還原了,於是安裝最新的php5.3.8版本

1: 下載php5.3.8 for windows. 

說明一下,官網的windows版本有2種,

上面是非安全執行緒的VC9 x86 Non Thread Safe , 缺少了php5apache2_2.dll (注意,在php5.4.0以及後面的5.4版本,此檔案更新為php5apache2_3.dll)這些檔案, 大小是14.93M .

下面那個Thread Safe安全執行緒版的.才是我們需要的,大小是15.06M 

猛擊這裡下載php5.3.8 for windows VC9 X86

猛擊這裡下載php5.4.0 for windows VC9 X86

今天是2013年4月11日,官方更新php5.3.23和5.4.13版本

由於精力有限, 本文不再提供2013年5月 php5.4.14及後續版本的更新. 望見諒 !

這裡是php5.4.1 for windows VC9 X86

這裡是php5.3.11 for windows VC9 X86 

php-5.4.14-Win32-VC9-x86.zip

php-5.3.24-Win32-VC9-x86.zip

php-5.2.17-Win32-VC6-x86.zip

linux 源碼

php5.4.14.tar.gz

php5.3.24.tar.gz

至於VC6和VC9,一個支援apache一個支援IIS.但是試了下VC9用在apache上沒問題 . 

安全執行緒Thread Safe(TS)和非安全執行緒(NTS),就是在執行時是否進行安全執行緒檢查,以防止有新要求就啟動建立成的CGI執行方式,進而耗盡系統資源.

執行方式有ISAPI和FastCGI,

前者ISAPI(Internet Server Application Programming Interface)是以DLL動態連結程式庫的形式使用,在使用者請求後執行,在處理完一個使用者請求後不會馬上消失,因此需要進行安全執行緒檢查.以此來提高程式的執行效率. 所以以ISAPI的方式來執行PHP,最好選擇Thread Safe版本也就是我們下載的版本,對應的apache的設定在第4段末尾有. 

FastCGI是以單一線程執行,所以不需要進行安全執行緒檢查,因為沒有了安全執行緒檢查,反而加快了PHP的執行效率.所以如果用FastCGI來執行PHP,最好選擇Not Thread Safe版本 .而在apache中就需要設定成下面的.(這裡我們配置的環境不用設定)

ScriptAlias /php/ "F:/php/PHP5"Action application/x-httpd-php "/php/php-cgi.exe"

(Notice: 如果安裝其它的Integration Environment,比如wamp會報錯,由於這是VC9的原因.會導致載入PHPIniDir後apache不能重啟.同理,如果有phper的機器裝不上APACHE.PHP5.3.8.解決辦法有2個,第一辦法是建議換成VC6的版本.官方apache手冊也說了VC 9 for apache unstable
behaviour,需要大家重新安裝.設定跟5.3.8一樣.第二個辦法是裝一個VC++2008的運行環境,具體解決方案請看下面的第10條.

Windows users: please mind that we do no longer provide builds created with Visual Studio C++ 6. It is impossible to maintain
a high quality and safe build of PHP for Windows using this unmaintained compiler.

For Apache SAPIs (php5_apache2_2.dll), be sure that you use a Visual Studio C++ 9 version of Apache. We recommend the Apache builds as provided by ApacheLounge. For any other SAPI (CLI, FastCGI via mod_fcgi, FastCGI with IIS or other FastCGI capable server),
everything works as before. Third party extension providers must rebuild their extensions to make them compatible and loadable with the Visual Studio C++9 builds that we now provide.)

!!!!!!!這裡要注意下,更新到5.4.*後 xdebug 和 memcache的dll就會失效.,需要去php.ini檔案裡面登出掉那幾行代碼.

今天是3月20日,xdebug的官方更新來一個beta版的dll,大家可以按照最後的說明去下它來配合php.

今天是4月26日,php官方更新版本分別至5.3.11和5.4.1版本. 下面分別說下更新方法,直接安裝新的版本也需要注意這幾個地方

後續版本更新tips:

①對於5.3.11 ~到 ~5.3.24 ,把5.3.11或者後續代碼的檔案下載下來解壓後直接覆蓋,然後重做下面第5步就可以了.然後重啟apache (覆蓋前記得停掉apache)就可以了.這個xdebug和memcache都還可以用的.建議作為開發環境使用的版本.

②對於5.4.1 ~到~  5.4.14以及5.4.0  可以看見在php檔案夾裡面已經存在了3個不同的php5apache2_2.dll  php5apache2_2_filter.dll  php5apache2_3.dll ,在5.4.0的版本中,需要把apache的設定檔httpd.conf裡面LoadModule
php5_module "D:/php/php5/php5apache2_2.dll" 改成php5apache2_3.dll 而在5.4.1裡面,這幾個檔案還是存在,但是則需要改回去,改成php5apache2_2.dll,

③千萬要記住,http.conf檔案只對於5.4.0版本需要修改,後面的5.4.1 ~ 5.4.13裡面還是用 LoadModule php5_module "F:/php/php5/php5apache2_2.dll"

④對於5.4.X的版本,因為xdebug和memcache沒有更新,所以已經失效,需要去php.ini裡面,登出掉不能用的xdebug和memcache ,登出直接在前面加上 ; 分號即可,然後重啟apache.

⑤今天是2013年.4月11日,php官方更新版本至5.3.24和5.4.14版本. 其中,5.3.24更新步驟和上面5.3.11一樣.解壓後重做下面第5步既可. 5.4.14同上面5.4.1

(注意5.4.5 ~ 5.4.14裡面,register_globals = On 需要登出掉,因為已經取消了,magic_quotes_gpc=On 也要登出掉,也是因為已經廢棄了,登出直接前面加 ; )

2: 解壓後,以前的php.ini是由php.ini-dist檔案轉變過來的

  php5.3.8裡面這個檔案變成了php.ini-development 

php.ini-development 意味著是開發版本的配置.

php.ini-production 是網站發布時的配置. 

這裡我們用開發版php.ini-development  修改成php.ini後 開啟.

3: 下面修改php.ini的配置  我的php5.3.8是放在了F:/php/php5 檔案夾下面

修改下面的為以下內容()

short_open_tag = On                 短標籤<?  ?>開啟asp_tags = On                       asp的短標籤<*  *>開啟register_globals = off              超級全域變數,建議關閉,開啟它會造成安全上的漏洞post_max_size= 8M                   POST提交時候的最大資料提交量magic_quotes_gpc = off              php內建的安全驗證,建議開啟file_uploads = On                   php支援檔案上傳upload_max_filesize = 2M            檔案上傳最大值 2M max_file_uploads = 20               同時並發上傳的最大檔案數

找到extension_dir 和下面很多的 extension= ****.dll 這裡

在extension=****.dll 的前面加上這一段來配置php的動態連結程式庫地址

extension_dir="F:\php\php5\ext"

去掉以下的extension前面的分號 ;  使其開啟

extension=php_bz2.dllextension=php_curl.dllextension=php_gd2.dllextension=php_gettext.dllextension=php_mbstring.dllextension=php_mysql.dllextension=php_mysqli.dllextension=php_openssl.dllextension=php_pdo_mysql.dllextension=php_sockets.dllextension=php_xmlrpc.dll

找到date.timezone 

設定時區為中國時區

date.timezone = prc

儲存php.ini 並且複製一份到C:\windows 下

4: 讓Apahce支援php. (Apache的安裝很簡單,這裡省略下)

開啟.\apache2.2\conf\httpd.conf

在大約60行的位置添加

PHPIniDir "F:/php/php5"

注意一定要添加在LoadModule 那一段的前面,以便提前載入,不然稍後的phpMyAdmin容易出錯.

在LoadModule這段後面添加

LoadModule php5_module "F:/php/php5/php5apache2_2.dll"

apache的htdocs重寫這裡就省略下. ( T _ T 剛才都要寫完了,沒儲存掉chromium假死了下,然後就白寫了...)

(注意下,隨著php版本的更新.這個php5apace2_2.dll的模組,可能會改名!比如現在最新的是php5.4裡面的php5apache2_3.dll)

在大約380行Addtype那裡加入

AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml .phptAddType application/x-httpd-php-source .phps

5: 重啟Apache 

這時候彈出找不到php_curl.dll 和php_openssl.dll 

可是我們路徑都指定了的,解決辦法

複製php5檔案夾下面的

libeay32.dll, ssleay32.dll, php5ts.dll, 

 php5/ext檔案夾下面的

php_curl.dll,php_openssl.dll

複製到C:/windows/system32 裡面. 

重啟apache 


 

6: 測試phpinfo和mysqlConn.

老版本的php是有一個libmysql.dll檔案的,新版的libmysql.dll這個檔案已經移交給了MySQL的Team Dev,所以大家不用費心去找這個檔案了.它就在MySQL安裝目錄的lib檔案夾下. 複製一份到C:/windows/system32即可

在你的apache指定的www目錄下建立一個phpinfo()檔案.輸入

<?phpphpinfo();?>

開啟瀏覽器輸入http://127.0.0.1/phpinfo.php 得到php的資訊

建立一個mysqlconn.php檔案.輸入

<?php$conn=mysql_connect("localhost","root","123456") or die (mysql_error());if(!$conn) echo "Failed!";else echo "Successful!";print_r ($conn);mysql_close();?

開啟瀏覽器輸入http://127.0.0.1/mysqlconn.php 

得到 Successful! 表明資料庫連結成功


7:安裝phpMyAdmin3.4.0 

解壓下來後把phpmyadmin放入www目錄

找到phpmyadmin檔案夾裡的/libraries/config.default.php

修改以下內容

$cfg['PmaAbsoluteUri']  = 'http://localhost/phpmyadmin/';$cfg['Servers'][$i]['host'] = 'localhost';$cfg['Servers'][$i]['auth_type'] = 'config';           //如果是網路上則需要改成cookie$cfg['blowfish_secret'] = '';       //此項只有當上面修改為cookie後,這裡必須修改,內容自定,比如你的網域名稱比如www.yourdomain.com     $cfg['Servers'][$i]['user'] = 'root';             //登入賬戶$cfg['Servers'][$i]['password'] = '123456';       //密碼$cfg['DefaultLang'] = 'zh';                //這是預設語言為中文.$cfg['DefaultCharset'] = 'utf8';        //這是修改編碼方式,可以修改成gb2312.

瀏覽器開啟http://127.0.0.1/phpmyadmin 輸入帳號密碼進入

8:phpMyAdmin的出錯解決: 

a: 無法載入mcrypt擴充,請檢查PHP配置 

        這個問題首先查看mysql是否開始.如果開啟了,把php裡面的 libmcrypt.dll 複製一份到windows/system32下. 並且檢查php.ini檔案裡面extension=php_mcrypt.dll是否開啟.

如果都不行,檢查系統內容變數,在我的電腦 右鍵 屬性, 進階 環境變數 裡面的 系統變數 Path裡面加入你的php安裝路徑 ;F:\php\php5  注意有分號隔開

b:如果phpMyAdmin登入出現下面的錯誤.Themysqliextension is missing 

The
mysqli extension is missing. Please check your PHP configuration. <a href="Documentation.html#faqmysql" target="documentation"><img class="icon" src="./themes/original/img/b_help.png" width="11" height="11" alt="Documentation" title="Documentation" /></a>

複製php/ext/php_mysqli.dll 到windows/system32 後,即可進入


9:  zendOptimizer,xdebug,WinCacheGrind加速調試的安裝:


zend加速器安裝很簡單.exe檔案,直接雙擊就行了.WinCacheGrind也是一樣.地址就不貼了,大家辛苦搜下.

zendoptimizer3.3.3

http://www.zend.com/download/144?start=true 更新的版本,直接放到之前安裝zendoptimizer的目錄即可,找到對應的目錄


這裡只說下xdebug的安裝.

首先開啟

http://127.0.0.1/phpinfo.php


再開啟http://xdebug.org/find-binary.php 

然後,把phpinfo.php解析後的內容ctrl+A,ctrl+c複製,然後ctrl+v粘貼在http://xdebug.org/find-binary.php 這個裡面

接著點 螢幕左下的那個.

然後會給出你你需要操作的步驟.

第一個是你需要下載的xdebug版本.下載後複製到你的php/ext 裡面去.改名不改名無所謂.

然後在php.ini裡面添加下面提示的那個地址.比如我在我的php.ini添加上

 

[Xdebug]zend_extension="F:\php\php5\ext\php_xdebug.dll"xdebug.auto_trace=Onxdebug.collect_params=Onxdebug.collect_return=Onxdebug.profiler_enable=onxdebug.trace_output_dir="F:\php\php5\xdebug"xdebug.profiler_output_dir="F:\php\php5\xdebug"

這裡唯一需要注意的是,xdebug的輸入路徑必須要真實存在,它不會自己建的.所以需要提前建好.如果你下下來沒改名,那麼我上面的那個掛載檔案就需要改成沒改名的檔案.

這些操作完了,複製一份新的php.ini去windows目錄,然後開啟cmd.exe輸入

net stop apache2.2net start apache2.2

來重啟apache.然後就可以在phpinfo的最開始看見zendOptimizer和xdebug載入提示了.

 10: Cannot load php5apache2_2.dll into server

如果apache安裝完後,開啟127.0.0.1顯示it works,但是載入配置了的php.ini,重啟apache不能啟動報錯的話,,這裡我們先查閱apache的error.log,發現出現cannot load php5apache2_2.dll,這裡說下這個問題的解決和緣由

首先去掉

LoadModule php5_module "F:/php/php5apache2_2.dll"

PHPIniDir "F:/php/php5"

重啟apache正常.apache版本2.2.18 php版本5.3.8 VC9. 由於5.3.8的PHP是由VC編譯完成,如果調用或者運行該PHP的相關檔案,則需要安裝VC的運行環境,如果沒有這個環境,那麼Apache調用時就會報上述錯誤資訊.

解決的方法很簡單:下一個VC2008運行庫安裝,地址在這裡VC2008.,然後就可以解決了


11:再次沒有了...

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.