php5.3.8 配置,測試及案例


上上周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 這些文件, 大小是14.93M .

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

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

至於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中就需要設置成下面的.(這里我們配置的環境不用設置)

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

(Notice: 如果安裝其它的集成環境,比如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.
)

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 文件夾下面

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

  1. short_open_tag = On                 短標簽<?  ?>開啟  
  2. asp_tags = On                       asp的短標簽<*  *>開啟  
  3. register_globals = off              超級全局變量,建議關閉,打開它會造成安全上的漏洞  
  4. post_max_size= 8M                   POST提交時候的最大數據提交量  
  5. magic_quotes_gpc = off              php自帶的安全驗證,建議開啟  
  6. file_uploads = On                   php支持文件上傳  
  7. upload_max_filesize = 2M            文件上傳最大值 2M   
  8. max_file_uploads = 20               同時並發上傳的最大文件數  

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

在extension=****.dll 的前面加上這一段來配置php的動態鏈接庫地址

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

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

  1. extension=php_bz2.dll  
  2. extension=php_curl.dll  
  3.   
  4. extension=php_gd2.dll  
  5. extension=php_gettext.dll  
  6.   
  7. extension=php_mbstring.dll  
  8. extension=php_mysql.dll  
  9. extension=php_mysqli.dll  
  10.   
  11. extension=php_openssl.dll  
  12. extension=php_pdo_mysql.dll  
  13.   
  14. extension=php_sockets.dll  
  15.   
  16. extension=php_xmlrpc.dll  

找到date.timezone 

設置時區為中國時區

  1. date.timezone = prc  

保存php.ini 並且復制一份到C:\windows 下


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

打開.\apache2.2\conf\httpd.conf

在大約60行的位置添加

  1. PHPIniDir "F:/php/php5"  
注意一定要添加在LoadModule 那一段的前面,以便提前加載,不然稍后的phpMyAdmin容易出錯.

在LoadModule這段后面添加

  1. LoadModule php5_module "F:/php/php5/php5apache2_2.dll"  
apache的htdocs重寫這里就省略下. ( T _ T 剛才都要寫完了,沒保存掉chromium假死了下,然后就白寫了...)

在大約380行Addtype那里加入

  1. AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml .phpt  
  2. AddType 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的開發團隊,所以大家不用費心去找這個文件了.它就在MySQL安裝目錄的lib文件夾下. 復制一份到C:/windows/system32即可

在你的apache指定的www目錄下新建一個phpinfo()文件.輸入

  1. <?php  
  2. phpinfo();  
  3. ?>  

打開瀏覽器輸入http://127.0.0.1/phpinfo.php 得到php的信息

新建一個mysqlconn.php文件.輸入

  1. <?php  
  2.     $conn=mysql_connect("localhost","root","123456"or die ("mysql_error()");  
  3.     if(!$connecho "Failed!";  
  4.     else echo "Successful!";  
  5.     print_r ($conn);  
  6.     mysql_close();  
  7. ?  


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

得到 Successful! 表明數據庫鏈接成功


7:安裝phpMyAdmin3.4.0 

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

找到phpmyadmin文件夾里的/libraries/config.default.php

修改以下內容

  1. $cfg['PmaAbsoluteUri']  = 'http://localhost/phpmyadmin/';  
  2. $cfg['Servers'][$i]['host'] = 'localhost';  
  3. $cfg['Servers'][$i]['auth_type'] = 'config';           //如果是網絡上則需要改成cookie  
  4. $cfg['blowfish_secret'] = '';       //此項只有當上面修改為cookie后,這里必須修改,內容自定,比如你的域名比如www.yourdomain.com       
  5. $cfg['Servers'][$i]['user'] = 'root';             //登錄賬戶  
  6. $cfg['Servers'][$i]['password'] = '123456';       //密碼  
  7. $cfg['DefaultLang'] = 'zh';                //這是默認語言為中文.  
  8. $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也是一樣.地址就不貼了,大家辛苦搜下.

這里只說下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添加上

 

  1. [Xdebug]  
  2. zend_extension="F:\php\php5\ext\php_xdebug.dll"  
  3. xdebug.auto_trace=On  
  4. xdebug.collect_params=On  
  5. xdebug.collect_return=On  
  6. xdebug.profiler_enable=on  
  7. xdebug.trace_output_dir="F:\php\php5\xdebug"  
  8. xdebug.profiler_output_dir="F:\php\php5\xdebug"  

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

這些操作完了,復制一份新的php.ini去windows目錄,然后打開cmd.exe輸入

  1. net stop apache2.2  
  2. net 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:再次沒有了...



注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com