如果您系統原本使用 PHP 5.2.X 版本,
那麼您可以參考本文升級至 5.3.0 版.
否則得再參考此文安裝 PHP 5.3.0 版.
升級步驟:
- 下載最新 PHP 5.3.0 版 http://windows.php.net/download/
P.S.- PHP 5.3.0 僅支援 Windows 2000 以上, 不再支援 Windows 98, ME, NT4.
http://tw.php.net/manual/en/migration53.windows.php
代碼: 選擇全部
The minimum Windows version is now Windows 2000; Windows 98, ME, and NT4 are no longer supported.
- PHP 5.3.0 針對 Windows 的使用者提供四種版本:
- 如果您的網站伺服器是使用 IIS, 那麼請使用 VC9 版本.
5.3.0 VC9 x86 Thread Safe
5.3.0 VC9 x86 Non Thread Safe - 如果您的網站伺服器是使用 Apache, 那麼請使用 VC6 版本.
5.3.0 VC6 x86 Thread Safe
5.3.0 VC6 x86 Non Thread Safe
- 如果您的網站伺服器是使用 IIS, 那麼請使用 VC9 版本.
- PHP 5.3.0 僅支援 Windows 2000 以上, 不再支援 Windows 98, ME, NT4.
- 解壓縮後, 上傳, 覆蓋您原有的 /php5/ 資料夾.
P.S.
在此, 以使用 (5.3.0 VC6 x86 Thread Safe) php-5.3.0-Win32-VC6-x86.zip 為例,
此處 /php5/ 資料夾僅供參考, 請依您的原有系統設定而自行變更. - 將 /php5/php5ts.dll 複製至 (覆蓋) C:/windows/system32/php5ts.dll
P.S.
C:/windows/system32/libmysql.dll 已無作用, 可以移除之. - 開啟 /php5/php.ini-production
參考舊有的 /php5/php.ini 更新 /php5/php.ini-production 相關的設定;
完成後, 將舊有的 /php5/php.ini 移除或重新命名 (如: /php5/php.ini-5.2.X);
再將 /php5/php.ini-production 重新命名 /php5/php.ini - 至此, 升級作業已經完成; 重新啟動 Apache.
修正錯誤:
(也許, 您升級作業完成後, 會遭遇以下同樣的錯誤)
A. 安裝 PHP 5.3.0 後, 連接資料庫, 出現底下錯誤訊息:
代碼: 選擇全部
mysqlnd cannot connect to MySQL 4.1+ using old authentication [2000]
代碼: 選擇全部
The new mysqlnd library necessitates the use of MySQL 4.1's newer 41-byte password format. Continued use of the old 16-byte passwords will cause mysql_connect() and similar functions to emit the error, "mysqlnd cannot connect to MySQL 4.1+ using old authentication."
要解決這個錯誤, 必須確認兩件事:
- 您的 MySQL 資料庫版本 >= 4.1
- 將您用來連接資料庫的管理者帳號之密碼, 更新為 (PASSWORD) 41 位元加密字符.
安裝 PHP 5.3.0 之後, 若無法連接資料庫, 則須先解除 PHP 5.3.0, 改裝回舊版 (如: PHP 5.2.X);
再試著將舊的 16 位元加密字符, 更新為 41 位元加密字符. (方法如下)
- 進入 phpMyAdmin, 找到資料庫 mysql.
- 進入資料表 user, 瀏覽管理者資料.
- 進入 SQL 頁面, 執行更新 "密碼格式" 命令:P.S.
代碼: 選擇全部
UPDATE `user` SET `password`=password('NewPassword') WHERE `user`='UserName';
UserName: 請更新為管理者帳號
NewPassword: 請更新為管理者密碼
執行後, 原 16 位元加密字符將更新為 41 位元加密字符. (如圖) - 接著, 執行重新整理 "權限" 的命令:
代碼: 選擇全部
FLUSH PRIVILEGES;
其次, 因為 PHP 5.3.0 已經改變, 移除, 或新增許多功能,
所以可能會對論壇造成不少的錯誤發生,
解決這些錯誤, 得外掛作者做適度的語法修正, 或暫時先移除相關外掛.
B. 即使是新安裝 (無任何外掛) 的論壇, 還是可能會出現錯誤訊息. 如下:
代碼: 選擇全部
[phpBB Debug] PHP Notice: in file /index.php on line 86: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ''UTC' for '8.0/no DST' instead
--開啟--
php.ini
--找到--
代碼: 選擇全部
;date.timezone =
代碼: 選擇全部
date.timezone = Asia/Taipei
後記:
參考資料:
- (修正) 升級 PHP 5.3.0 後, 連接資料庫, 出現錯誤.
http://lee.kometo.com/index.php/archives/300 - (修正) 升級 PHP 5.3.0 後, 連接論壇, 出現錯誤.
http://www.phpbb.com/community/viewtopi ... 5#p9829345 - Migrating from PHP 5.2.x to PHP 5.3.x
http://tw.php.net/migration53
- OS: Windows Vista
- Apache 2.2.11
- MySQL 5.1.36
- PHP 5.2.10 Update 5.3.0
- phpMyAdmin 3.2.0.1
- phpBB 3.0.5