phpBB2.0.18 如何支援 PHP5?

phpBB Installation & Usage Support
phpBB 2 安裝於各類型作業平台之問題討論;外掛問題,請到相關版面依發問格式發表!
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
頭像
b90220208
星球普通子民
星球普通子民
文章: 13
註冊時間: 2005-12-02 15:00
來自: TAIEAN
聯繫:

phpBB2.0.18 如何支援 PHP5?

文章 b90220208 »

目前最新 release 的 phpBB 2.0.18 在其官網上已宣稱支援 mysql 5 [相關連結]
而在 PHP 方面好像沒有支援到 php 5,所以想請教該如何才能讓其在 php 5 下順利安裝與運作 ?? :-o

以下是我的安裝經過,當搭配---

php 4:
則只要有處理了 authentication protocol 的問題,例如 mysql server 5 的密碼改用舊模式:
SET PASSWORD FOR user@host = OLD_PASSWORD('password');
就可順利執行安裝 phpBB2.

否則,就會出現如下之錯誤訊息:
---------------------------------------------------------------------------------------------------------------------------------
Warning: mysql_connect(): Client does not support authentication protocol requested by server;
consider upgrading MySQL client in ...\phpbb2\db\mysql4.php on line 48

Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in
...\phpbb2\db\mysql4.php on line 330

Warning: mysql_errno(): supplied argument is not a valid MySQL-Link resource in\r
...\phpbb2\db\mysql4.php on line 331

---------------------------------------------------------------------------------------------------------------------------------


若換成 php 5:
則會出現錯誤訊息如下(什麼也沒提示)
-----------------------------------------------------
phpBB : Critical Error

Could not connect to the database
-----------------------------------------------------


以下,是我在 mysql 官網查到的資訊,若我沒會錯意,他的意思應該是 php 5 已經有支援 mysql 4.1 以上
的版本了,那麼為何會出現如上之無法連線資料庫的錯誤訊息? :-o
我在安裝 Moveable Type 3.2 時,都很順利,難道是 phpBB2 沒有支援 PHP 5 嗎?
若我只想用 php 5 ,那該怎麼做,要改 phpBB2 的安裝程式碼嗎? :-o
====================================================================
The mysqli extension (stands for "MySQL, Improved"; added in PHP 5) is compatible with the
improved password hashing employed in MySQL 4.1 and higher, and no special configuration of
MySQL need be done in order to use this MySQL client library.

====================================================================
最後由 b90220208 於 2005-12-02 16:32 編輯,總共編輯了 2 次。
寒心
星球公民
星球公民
文章: 58
註冊時間: 2005-02-08 14:03

文章 寒心 »

頭像
b90220208
星球普通子民
星球普通子民
文章: 13
註冊時間: 2005-12-02 15:00
來自: TAIEAN
聯繫:

文章 b90220208 »

感謝!!
...這就是我開版提供的連結啊!(裡頭就是在說如何於安裝 phpBB2 時能 support MySQL 5)

而我當然已經照作了,就是因為還是會出現開版中關於當使用 php 5 所述之錯誤訊息(詳見上文)
所以才想說是否是 phpBB2 安裝程式碼無支援 php 5 ? :-o

以下列出我遵照該官網連結的實作,有誤還請指正...
--------------------------------------------------------------------
1.開啟檔案: install/schemas/mysql_schema.sql
2.將 Code:
bbcode_uid char(10) NOT NULL,
改成 Code:
bbcode_uid char(10) DEFAULT '' NOT NULL,
--------------------------------------------------------------------
~倉木麻衣~
竹貓忠實會員
竹貓忠實會員
文章: 1405
註冊時間: 2004-03-21 21:00

文章 ~倉木麻衣~ »

b90220208 寫:而在 PHP 方面好像沒有支援到 php 5
回應這句話
phpBB 2.0.18有支援PHP 5.0.4
先前在測試繁簡快捷轉碼外掛時, 將phpBB 2.0.18版裝到被火紋身後的freepgs主機上
裝完後才發現freepgs在被大火燒過後, 將MySQL及PHP分別升級到4.1.14與5.0.4版
底下資訊是利用Firefox檢視回應標頭的結果
回應標頭資訊 - http://www.freepgs.com/sabcat/phpBB2/\r

Date: Fri, 02 Dec 2005 08:45:29 GMT
Server: Apache/2.0.54 (Fedora)
X-Powered-By: PHP/5.0.4
Cache-Control: no-cache, pre-check=0, post-check=0
Expires: 0
Pragma: no-cache
Content-Length: 7632
Keep-Alive: timeout=1, max=100
Connection: Keep-Alive
Content-Type: text/html

200 OK
至於PHP5 + MySQL5 則還沒實際測試過
謝絕所有私人訊息詢問外掛相關問題
有問題請直接於版上發表, 集思廣議絕對比專挑特定人士詢問來的好

竹貓禁止發表含破解相關的軟體, 違者砍文
不要跟我講別的地方都可以發, 為什麼竹貓就不行
免費不等於破解, 傻傻的搞不清楚
頭像
b90220208
星球普通子民
星球普通子民
文章: 13
註冊時間: 2005-12-02 15:00
來自: TAIEAN
聯繫:

文章 b90220208 »

到原因了, 原來關鍵是在 PHP5 身上!

列出如下:

=================================================================================
PHP 5 is no longer bundling the MySQL Client Library itself!!

MySQL is no longer enabled by default, so the php_mysql.dll DLL must be enabled inside of php.ini. Also,
PHP needs access to the MySQL client library. A file named libmysql.dll is included in the Windows PHP
distribution and in order for PHP to talk to MySQL this file needs to be available to the Windows
systems PATH.

Although copying libmysql.dll to the Windows system directory also works (because the system directory
is by default in the system's PATH), it's not recommended.
=================================================================================


我的問題雖已解決,但我不是很懂上面這段的意涵,...希望,煩請各位為我解釋一下.

例如:
1. 為何要將 php 安裝路徑加到 windows 的 Path 環境變數中才能在啟動 apache 時動態载入 位於 /ext/php_mysql.dll 呢? :-o
2. php_mysql.dll 與 libmysql.dll 此二檔案的意義為何? :-o
3. 另外,就是關於 p h p _ m y s q l i . d l l 這一 extension 在 php 5.1.1 的用處為何? 以及到底需不需要 enable 它呢? :-o
......................................................................................................................................................................THANKS#

安裝環境 :
Windows server 2003
Apache - 2.0.55

Php -
5.1.1
Mysql - 5.0.16
PhpBB - 2.0.18
右手
星球公民
星球公民
文章: 78
註冊時間: 2004-05-10 21:21

文章 右手 »

php.ini裡有個extension_dir = "XXXXXXXXX"
這個是設定存放函式庫的目錄,這個目錄找不到時候會去抓%windir%、%path%(好像是)。
php_mysql.dll<--mysql函式庫\r
libmysql.dll<-----不知道
php_mysqli.dll<-強化版的mysql函式庫,內建物件方式操作mysql,不過phpbb沒在用,除非要自己寫程式,不然這個可有可無。(要php5、mysql4.1.2以後版本)
●架設主機作業系統:Windows 2000 Pro
●我的上網方式:ADSL HINET2MB/512K浮動IP
●我安裝的程式:Apache HTTP Server 2.0.55 +PHP 4.4/5.0.5 + MySql4.0.26
●我的 phpBB2 版本:phpBB 2.0.17
●我的 phpBB2 連結網址
頭像
b90220208
星球普通子民
星球普通子民
文章: 13
註冊時間: 2005-12-02 15:00
來自: TAIEAN
聯繫:

文章 b90220208 »

:-D 假如我可能會用到 m y s q l _ c o n n e c t ( ) 或 m y s q l i _ c o n n e c t ( ) 函式來連線資料庫時,
是否表示我得同時安裝 mysql , mysqli extensions 呢?.....還是僅安裝後者即可?


以下警告是什麼意思? :-o
與 libmysql.dll 有關嗎?
( 因我的 php5.1.1 "僅"有提供 l i b m y s q l . d l l 而已! 而在稍前的版本好像還有提供 l i b m y s q l i . d l l )
===============================================================================
If you would like to install the mysql extension along with the mysqli extension you have to use the same client
library to avoid any conflicts.
===============================================================================


從上之警告:
請問 在 windows 上如何穩定地同時安裝 mysql , mysqli extensions 呢? :-o
(除了在 php.ini 中 enable 這兩個 extensions 外,還須注意什麼嗎...例如何謂: "use the same client library" ?)
右手
星球公民
星球公民
文章: 78
註冊時間: 2004-05-10 21:21

文章 右手 »

libmysql.dll我想起來了php跟mysql裡面都有放這個檔案,連接資料庫要用到的。
libmysqli.dll曾經有這個東西,php官方手冊寫用mysqli函式庫要用這一個
,實際上用新的libmysql.dll就可以了,除非你用php5.0.0~5.0.2。
要同時用mysql_connect()、mysqli_connect()要兩個函式庫都裝,mysqli沒辦法用mysql的函式。

If you would like to install the mysql extension along with the mysqli extension you have to use the same client
library to avoid any conflicts.

這應該是指要使用同一個libmysql.dll,mysql裡放的比較新。
印象中php裡放的libmysql.dll本來就是出自於mysql。

要同時裝mysql、mysqli函式庫只要在php.ini裡改↓就好了。

代碼: 選擇全部

extension=php_mysql.dll
extension=php_mysqli.dll
●架設主機作業系統:Windows 2000 Pro
●我的上網方式:ADSL HINET2MB/512K浮動IP
●我安裝的程式:Apache HTTP Server 2.0.55 +PHP 4.4/5.0.5 + MySql4.0.26
●我的 phpBB2 版本:phpBB 2.0.17
●我的 phpBB2 連結網址
頭像
b90220208
星球普通子民
星球普通子民
文章: 13
註冊時間: 2005-12-02 15:00
來自: TAIEAN
聯繫:

文章 b90220208 »

:roll: :roll: :roll: THANKS U VERY MUCH :!: :!:
了解了#

If you would like to install the mysql extension along with the mysqli extension you have to use the same client
library
to avoid any conflicts.


所以, the same client library 指的就是 libmysql.dll 此一檔案囉,不好意思..我一直想弄清楚 php_mysql.dll 與 libmysql.dll 的分別與關係 :-o ?
就我所知, php_mysql.dll 似乎只是個函式定義檔好讓 designer 可以使用相關的 functions 而已...


以下列出我找到的資訊:
=========================================================================
PHP 5 no longer bundles MySQL client libraries

--> 指的究竟是 php_mysql.dll 還是 libmysql.dll :-o :-o ?

原因:

1. Most systems these days already have the client library installed.

2. Given the above, having multiple versions of the library can get messy. For example,
if you link mod_auth_mysql against one version and PHP against another, and then enable
both in Apache, you get a nice fat crash. Also, the bundled library didn't always play
well with the installed server version. The most obvious symptom of this being disagreement
over where to find the mysql.socket Unix domain socket file.

3. Maintenance was somewhat lax and it was falling further and further behind the released version.

4. Future versions of the library are under the GPL and thus we don't have an upgrade path since we
cannot bundle a GPL'ed library in a BSD/Apache-style licensed project. A clean break in PHP 5 seemed
like the best option.
=========================================================================
安裝環境 :
Windows server 2003
Apache - 2.0.55
Php - 5.1.1
Mysql - 5.0.16
PhpBB - 2.0.20
moneyemail
星球普通子民
星球普通子民
文章: 2
註冊時間: 2005-12-29 16:01

文章 moneyemail »

b90220208大大:
小弟跟你有一樣的問題,就是"phpBB2.0.18 如何支援 PHP5?"
我一開始訊息跟你一樣:
-----------------------------------------------------
phpBB : Critical Error
Could not connect to the database
-----------------------------------------------------
後來我看一篇文章[問題]不能安裝phpBB2???&phpbb2論壇安裝教學知道我的mysql要建立資料庫\r
資料庫建立好後執行安裝出現訊息:
-----------------------------------------------------
安裝過程中發生錯誤
在嘗試更新資料庫時發生錯誤
Table 'phpbb_auth_access' already exists
--------------------------------------------------------
這是怎麼一回事?

b90220208大大說:
找到原因了, 原來關鍵是在 PHP5 身上!

請問那是怎麼解決的呢??

b90220208大大在綠光森林有PO一樣的文
有說到libmysql.dll,境變數 Path,這些我都已經設定好了
libmysql.dll在我的c:\php\
windows環境設定Path有指定C:\php;
不知道我還有哪些要改的,請大大幫忙解答

作業環境:
apache_2.0.55-win32-x86-no_ssl.msi
php-5.1.1-Win32.zip
mysql-essential-5.0.17-win32.msi
phpMyAdmin 2.7.0-pl1
phpBB-2.0.18.zip[尚未安裝成功]
頭像
b90220208
星球普通子民
星球普通子民
文章: 13
註冊時間: 2005-12-02 15:00
來自: TAIEAN
聯繫:

文章 b90220208 »

看妳的情況應該已經搞定 php5 對 mysql client 的 support !


以下更改是讓 PHPBB2.0.18 支援 mYsql 5 必須的不知您作了嗎?
==========================================================
OPEN
Code:
install/schemas/mysql_schema.sql

FIND
Code:
bbcode_uid char(10) NOT NULL,

REPLACE WITH
Code:
bbcode_uid char(10) DEFAULT '' NOT NULL,

You should then install normally and select the MySQL 4 option from the installation script.
==========================================================




若還是不行(Table 'phpbb_auth_access' already exists)
既然問題可能是存在的 table 不正確,
若您 PHPBB 是新安裝,那就直接 DROP DATABASE db_name_of_phpbb; 刪除已存在的 phpbb database 再重新自建一個然後執行安裝程序再看.



最後:
我是用 php5.1.1 使用套件附的 libmysql.dll
藉由 <?php phpinfp(); ?> 得到 MySQL Client API version 是 4.1.7
因為過舊的 mysql client 不支援 mysql 4.1 以上版本 server 使用的 authentication protocol 認證機制.
但 php5 方面好像還須 php_mysqli extension 的函式庫才有支援到,而 phpbb2.0.18 並無使用到此函式庫.
So,若伲不幸看到了--
Client does not support authentication protocol requested
by server; consider upgrading MySQL client!


就表示有此問題,可如下解決:
mysql> SET PASSWORD FOR -> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
安裝環境 :
Windows server 2003
Apache - 2.0.55
Php - 5.1.1
Mysql - 5.0.16
PhpBB - 2.0.20
頭像
b90220208
星球普通子民
星球普通子民
文章: 13
註冊時間: 2005-12-02 15:00
來自: TAIEAN
聯繫:

文章 b90220208 »

有一疑惑不葚肯定,希望前輩先進為我解惑:

==========================================================
The mysqli extension (stands for<代表,提倡> "MySQL, Improved"; added in PHP 5) is compatible<共存,相容> with the
improved<改良> password hashing<混合> employed<專職於> in MySQL 4.1 and higher, and no special configuration of
MySQL need be done in order to use this MySQL client library.
==========================================================


:?: Q:
不知其意思是說在 PHP5 還要配合用 MYSQLI_CONNECT() 來連線 MYSQL 4.1 以上板之 SERVER 作認證時才沒問題 ?

還是說只要是用 PHP5 的 MYSQL_CONNECT() 就沒問題了…\r
而原文只是在解釋 MYSQLI EXTENSIONS 也有支援 MYSQL 4.1 以上的認證機制 ?
安裝環境 :
Windows server 2003
Apache - 2.0.55
Php - 5.1.1
Mysql - 5.0.16
PhpBB - 2.0.20
moneyemail
星球普通子民
星球普通子民
文章: 2
註冊時間: 2005-12-29 16:01

文章 moneyemail »

感謝大大指導,我的問題已經解決了
如你所說的,我的install/schemas/mysql_schema.sql資料沒改
作業環境:
apache_2.0.55-win32-x86-no_ssl.msi
php-5.1.1-Win32.zip
mysql-essential-5.0.17-win32.msi
phpMyAdmin 2.7.0-pl1
phpBB-2.0.18.zip[尚未安裝成功]
頭像
b90220208
星球普通子民
星球普通子民
文章: 13
註冊時間: 2005-12-02 15:00
來自: TAIEAN
聯繫:

文章 b90220208 »

恭喜啦,舉手之勞而已.
那有人能幫一下我的疑惑嗎...? :-D :-(
安裝環境 :
Windows server 2003
Apache - 2.0.55
Php - 5.1.1
Mysql - 5.0.16
PhpBB - 2.0.20
k.h.chen
星球普通子民
星球普通子民
文章: 16
註冊時間: 2005-12-13 15:02

文章 k.h.chen »

你安裝phpBB裝到一半失敗了,但是資料庫已經建了那些資料表,你必須要把裝一半的資料庫砍掉(用phpmyadmin或其他),然後再重裝一次phpBB就可以了. 
b90220208 寫:恭喜啦,舉手之勞而已.
那有人能幫一下我的疑惑嗎...? :-D :-(
主題已鎖定

回到「phpBB 2 安裝與使用」