前言:這兩天閒着沒事,就想學一下ThinkPHP。學習ThinkPHP要先安裝好Apache、MySQL 、PHP等運行環境。php
爲了方便起見,打算就用集成環境。ThinkPHP官方網站推薦的是「WAMP」,用起來確實也很方便,可是修改Apache配置文件http.conf時,老是以「記事本」打開,改起來極爲不便。因而就尋思着換其餘的集成環境,嘗試過「XAMPP」以後看到了「APMServ」。由於「XAMPP」是英文的,因此毅然的選擇了「APMServ」。mysql
安裝好APMServ以後,用起來確實挺爽,修改配置什麼的都比較方便。就是集成的東西有點多,但不啓用也不會影響什麼,整體仍是比較滿意的。sql
但是運行ThinkPHP的時候又出現了新的問題:PHP要求版本至少是5.3的。目前APMServ的PHP版本只是5.2.6,知足不了需求,怎麼辦?難道只能用「WAMP」或者「XAMPP」?怎麼才能使ThinkPHP在APMServer環境下正常運行呢?升級PHP版本?沒錯,就是升級版本,既然官方沒有升級,那就本身升級唄。windows
百度「APMServ5.2.6 php升級」,不少文章都是千篇一概,說的也不夠詳細。谷歌最近也不能用,只能「死馬當活馬醫」了,選了其中的一篇嘗試升級。折騰了一會終成功了。下面對此次升級進行總結:session
首先要明確:選擇什麼版本的PHP?
若是你是在windows下使用Apache+PHP的,請選擇VC6版本;
若是你是在windows下使用IIS+PHP的,請選擇VC9或者VC11版本。curl
由於APMServ使用的是Apache+PHP,因此只能下載VC6版本的PHP。
在PHP官網查看了一下,下載最新的VC6版本:php-5.3.0-Win32-VC6-x86.zip socket
將下載好的PHP文件解壓縮,解壓縮的文件夾「php-5.3.0-Win32-VC6-x86」複製到APMServ5.2.6的根目錄,我這裏是放在「D:\APMServ5.2.6」。學習
而後將原來「PHP」目錄下的」ext 「和」extras「文件夾複製到「php-5.3.0-Win32-VC6-x86」目錄下,遇到重複文件,不要覆蓋。網站
還有原來」PHP「目錄下的「libmcrypt.dll」、「libmhash.dll」和「libmysql.dll」三個文件複製到「php-5.3.0-Win32-VC6-x86」目錄下,遇到重複文件,覆蓋。url
最後將原來的PHP文件備份,我這裏是重命名爲「PHP_backup」;還要將「php-5.3.0-Win32-VC6-x86」 重命名爲:「PHP」。
將「PHP」目錄下的「php.ini-production」文件重命名爲:「php.ini」。
打開文件,找到:
short_open_tag = Off
修改成:
short_open_tag = On
找到:
; extension_dir = "./" ; On windows: ; extension_dir = "ext"
修改成:
extension_dir = "D:/APMServ5.2.6/PHP/ext"
注:這裏的路徑根據實際狀況填寫。
找到:
;extension=php_bz2.dll ;extension=php_curl.dll ;extension=php_fileinfo.dll ;extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll ;extension=php_mbstring.dll ;extension=php_exif.dll ; Must be after mbstring as it depends on it ;extension=php_mysql.dll ;extension=php_mysqli.dll ;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; Use with Oracle 11g Instant Client ;extension=php_openssl.dll ;extension=php_pdo_firebird.dll ;extension=php_pdo_mssql.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll ;extension=php_pdo_sqlite.dll ;extension=php_pgsql.dll ;extension=php_phar.dll ;extension=php_pspell.dll ;extension=php_shmop.dll ;extension=php_snmp.dll ;extension=php_soap.dll ;extension=php_sockets.dll ;extension=php_sqlite.dll ;extension=php_sqlite3.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll ;extension=php_xmlrpc.dll ;extension=php_xsl.dll ;extension=php_zip.dll
將前面的「;」根據須要去掉,我這裏是去除了全部的「;」,表示開啓全部拓展。不熟悉php的話,建議去除全部的「;」。
extension=php_bz2.dll extension=php_curl.dll extension=php_fileinfo.dll extension=php_gd2.dll extension=php_gettext.dll extension=php_gmp.dll extension=php_intl.dll extension=php_imap.dll extension=php_interbase.dll extension=php_ldap.dll extension=php_mbstring.dll extension=php_exif.dll extension=php_mysql.dll extension=php_mysqli.dll extension=php_oci8.dll extension=php_oci8_11g.dll extension=php_openssl.dll extension=php_pdo_firebird.dll extension=php_pdo_mssql.dll extension=php_pdo_mysql.dll extension=php_pdo_oci.dll extension=php_pdo_odbc.dll extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll extension=php_pgsql.dll extension=php_pspell.dll extension=php_shmop.dll extension=php_snmp.dll extension=php_soap.dll extension=php_sockets.dll extension=php_sqlite.dll extension=php_sqlite3.dll extension=php_sybase_ct.dll extension=php_tidy.dll extension=php_xmlrpc.dll extension=php_xsl.dll extension=php_zip.dll
最後在文檔末尾添加下面的代碼:
[eaccelerator] zend_extension_ts="D:/APMServ5.2.6/zend/eAccelerator/eaccelerator.dll" eaccelerator.shm_size="32" eaccelerator.cache_dir="D:/APMServ5.2.6/tmp/eaccelerator/" eaccelerator.enable="1" eaccelerator.optimizer="1" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_max="0" eaccelerator.shm_ttl="0" eaccelerator.shm_prune_period="0" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9" eaccelerator.keys = "shm" eaccelerator.sessions = "shm" [Zend] zend_optimizer.optimization_level=1023 zend_optimizer.encoder_loader=1 zend_extension_ts="D:/APMServ5.2.6/zend/ZendOptimizer-3.3.3/php-5.2.x/ZendOptimizer.dll"
到這裏,APMServ5.2.6就已經升級PHP成功了。