Jollen 網路學院
|| Jollen 的 Embedded Linux 訓練方案 | Jollen 的 Embedded Linux 系列著作 ||
□ Jollen網路學院 >> PHP 書本相關問題與勘誤 □

主題說明: 我的 Apache + PHP 一直出現「找不到 php_gd.dll...」的錯誤訊息 ?!
更新日期: 2004/1/15
適用書籍: F8543

內文:

請確定您是安裝書附光碟的 php5-win32-200310011830.zip 檔案,若出現此錯誤訊息,請修改 php.ini 檔案:

extension=php_gd.dll
extension=php_zlib.dll

將上面二行移除!接著加入:

extension=php_gd2.dll

即改用 php_gd2.dll 取代 php_gd.dll + php_zlib.dll。php_gd2.dll 檔案請按這裡下載,請勿由其它 檔案取得。php_gd2.dll 請存放至您設定的路徑下。

參考章節:P.1-21


主題說明: 如何將 Access 或其它格式的資料庫轉到 MySQL?
更新日期: 03/19/2003
適用書籍: All

內文:

讀者提到要如何將 Access 或是其它格式的資料庫轉存到 MySQL 裡。最普通實用的方法是將來源資料庫轉存成 CSV 格式,再用 LOAD DATA INFILE 的語法轉到 MySQL 的 Table 裡。

Stopping httpd: [ OK ]
Starting httpd: [Wed Feb 12 16:51:18 2003] [warn] module php4_module is
already loaded, skipping

從粗粗地那行知道是用 RPM 套件裝的,所以可知電腦也裝好 PHP 的模組套件了,所以就不用再照書上的設定。

書上的安裝方法是以原始碼安裝 apache+php 的方法, 優點是可以自己下載新版本的 tarball (.tar.gz) 檔案自行安裝! ^^


主題說明: Apache 的錯誤:[warn] module php4_module is already loaded, skipping?
更新日期: 03/18/2003
適用書籍: F8522A

內文:

讀者說照書上 (F8522A) 的方法設定好 httpd.conf 後,結果一給他重跑 Apache 就出現這樣:

Stopping httpd: [ OK ]
Starting httpd: [Wed Feb 12 16:51:18 2003] [warn] module php4_module is
already loaded, skipping

從粗粗地那行知道是用 RPM 套件裝的,所以可知電腦也裝好 PHP 的模組套件了,所以就不用再照書上的設定。

書上的安裝方法是以原始碼安裝 apache+php 的方法, 優點是可以自己下載新版本的 tarball (.tar.gz) 檔案自行安裝! ^^


主題說明: 程式執行超過 30 秒會 timeout?
更新日期: 03/18/2003
適用書籍: All

內文:

讀者說:我的程式執行超過 30 秒就會被停住 (timeout),怎麼辦?答:可以修改 php.ini:

max_execution_time = 30

改多一點就好,單位是秒!(預設是 30 秒)


主題說明: 書上範例執行後表單的資料無法秀出?(變數傳不過去)
更新日期: 03/18/2003
適用書籍: F8522A

內文:

讀者提到,執行書上的程式時,無法秀出從表單輸入的資料。例如第 4 章的「text 輸入表單測試」執行後的結果變成:

您送出的訊息為:(空的)
是空的!

由於 PHP 版本差異,表單送出的資料會無法由「全域變數」取得,所以程式當然無法讀取。解決方式除了由 $HTTP_*_VARS[] 陣列讀取外,要能不修改程式而得到書上的結果,可以修改 php.ini 設定檔,將:

register_globals = Off

改成

register_globals = On

即可!


主題說明: 如何安裝與下載 phpMyAdmin ?
更新日期: 07/23/2002
適用書籍: All

內文:

下載: http://www.phpmyadmin.net/

安裝:

直接將 phpMyAdmin 解到 web 目錄下即可, 例如:

   linux$ cd /var/www
   linux$ tar zxvf phpMyAdmin-2.3.0-rc3-php.tar.gz

然後再根據「PHP and MySQL 4 徹底研究」第 9-36 頁的說明進行設定即可!


主題說明: 請問站上的範例程式與書上的範例有何關係。(yechen)
更新日期: 05/01/2002
適用書籍: All

內文:

有讀者提到站上的 4 個範例程式與「PHP 4 網站實作」裡的範例有何關係。 適逢「PHP and MySQL 4 -- Web 資料庫設計」出版,因此在此做說明。

在「PHP and MySQL 4 -- Web 資料庫設計」裡我們是以 2.0 以下的版本做 完整的案例實作,包含:留言板、討論群組、記事本。而在站上的範例全部 都是 2.5 的版本,目的是為了提供讀者連貫性的學習範例。

Jollen 將「PHP 4 網站實作 -- 深度研究篇」裡的必修課程移到新書裡,因 此新版的「PHP 4 網站實作」將會連貫一系列的案例,更新為 3.0 以上的版本! 新版的「PHP 4 網站實作」除了要加強全部的內容外,也要加入許多的新技術喔!

目前「PHP 4 網站實作」一書裡的案例均未特別註加版本,但原則上應視為 2.0 以下的版本,舊書裡的案例接續站上的 2.5 系列範例。而 2.5 系列雖名為「範例」, 但都是可以架設在站上的完整 PHP 元件。

最後呢,建議舊版「PHP 4 網站實作」的讀者儘快能將整本書閱讀完畢,因為新 版書的內容重覆性只有約 25% 左右。為了連貫性,也可以考慮研讀「PHP and MySQL 4 -- Web 資料庫設計」一書,並練習每個章節後面的「練習題」!


主題說明: 關於 PHP 4 的認證。(Ivy)
更新日期: 04/12/2002
適用書籍: All

內文:

讀者來信問到「沒有 PHP 4 相關的認證啊!」,答案是:目前只有全球最大的第三獨立認證機構 (brainbench) 有相關認證:

Brainbench

事實上呢,brainbench 可接受的認證項目有數百種之多。認證方式是在家裡的電腦,利用信用卡線上付費後馬上考試!不過要注意喔,千萬不要任意公開考試題目,免得挨告,或是被取消證照。另外,brainbench 強調的是「童子軍精神」,因此,如果您是真正想要了解自己的專業程度,花了錢就好好誠實考試吧 ^_^。

目前 (04/12/2002) 台灣接受 PHP 4 認證測驗的只有一個人 (就是 Jollen 自己!),所以我們要好好加油,連印度都有一卡車的人通過認證了呢!

通過認證後,可以申請一張漂亮的證照喔。這是 Jollen 拿到的證照

我們將會開設專門討論 brainbench PHP 4 認證的必勝專欄,請密切注意 :)


主題說明: PHP 設計檔案上傳的檔案大小限制 (ycfan)
更新日期: 10/09/2001
適用書籍: All

內文:

網友提到在 http://www.jollen.org/php/articles/upload.html 這篇文章裡, 檔案 超過 1M 就無法上傳了。在 PHP 4.0.x 的版本裡, 預設最大上傳檔案是 2M, 因此要 注意 PHP 程式內 form 的 MAX_FILE_SIZE 欄位與 php.ini 的設定。

可參考文章: http://www.jollen.org/php/articles/upload-2.html


主題說明: 為什麼 PHP 程式碼不能正常執行?(Ajean)
更新日期: 09/06/2001
適用書籍: All

內文:

Ajean 來信提到, apache & php 己架設好(內定安裝並己確定啟動), 但使用 Netscape 打開網頁時無法 show 出正確的程式執行結果。

請檢查底下幾個項目:

  • 是否有將 PHP 的設定加到 apache (httpd.conf) 裡 (參考: PHP4 網站實作, p.2-8)
  • PHP 程式碼是否有寫在正確的 tag 裡 (參考: PHP4 網站實作, p.3-2)
  • apache 設定完成後是否有重新啟動

主題說明: 為什麼 FastTemplate 只會列出最後一筆資料?(Wu.Wey-Min)
更新日期: 08/24/2001
適用書籍: All

內文:

若程式確定無誤, 問題 99% 是出在 dynamic template 的巨集上, 要特別注意:

<!-- BEGIN DYNAMIC BLOCK: row -->
<!-- END DYNAMIC BLOCK: row -->
!--之後、--!之前、BEGIN/ENDDYNAMICBLOCK: 的前後都有一個空格, 即:
<!--空格BEGIN空格DYNAMIC空格BLOCK:空格row空格-->
如果 dynamic template 的標籤格式不正確, 就會出現這樣的問題, 因此請特別留意空格的問題! 請參考 PHP4 網站實作, p.5-14~5-15.

主題說明: Warning: Invalid content of \{\} in class.FastTemplate.php3...?!
更新日期: 04/05/2001
適用書籍: All

內文:

許多讀者在用了 FastTemplate 之後出現類似這樣的錯誤訊息或是其它奇怪的錯誤:

Warning: Invalid content of \{\} in class.FastTemplate.php3 on line 213

也有時候會出現一堆奇怪的字元、小數點等。據悉應該是版本的問題所造成的,建議有這個問題的讀者更新 PHP 至 4.0.2 以上,並換上 Jollen 修改過的 FastTemplate 版本。

下載:FastTemplate 1.1.0 (Jollen 修改版, 請另存新檔!)

這麼一來應該可以解決大家的問題了。同時這個版本 Jollen 做了兩個修改,而且用了一陣子了,好用喔!

1. prase() 新增 output to file

將 $tpl->FastPrint("BODY") 改成如 $tpl->FastPrint("BODY", "index.html") 可以將樣板存成檔案 index.html。

2. 新增 append to head (原來只有 append to rear)

分析動態樣板時,將 $tpl->parse(ROWS, ".row") 改成如 $tpl->parse(ROWS, ":row") 可以將內文區塊加到動態樣板的開頭,原本 FastTemplate 會將內容一直附加到動態樣板區塊的後面,因為 Jollen 有這個需要,所以改用 ':' 可以將新內容一直加到動態樣板的前面。

如果您還是有上述問題,請檢查程式是否有誤。底下是樣板化設計部份的參考範例程式碼,詳細內容請翻閱 F8523 「PHP4 網站實作」(89, 旗標) 一書。

程式:

include("/home/httpd/html/FastTemplate/class.FastTemplate.php3");

//產生 FastTemplate 物件,指定樣板「目錄」
$tpl = new FastTemplate("/home/httpd/html/board/templates");

//定義 Template 名稱 (檔名) & 動態樣板名稱
$tpl->define(array(main => "showpost.tpl"));
$tpl->define_dynamic("row", "main");

while (...) {

   $tpl->assign(MESSAGE, $message);
   $tpl->assign(EMOTION, $emotion_pic);

   //分析動態樣板區塊
   $tpl->parse(ROWS, ".row");
}

$tpl->parse(BODY, "main");
$tpl->FastPrint("BODY");

樣板 (含動態樣板區塊) 範例:

<!-- NAME: showpost.tpl -->
<!-- BEGIN DYNAMIC BLOCK: row -->
<table border="1" cellPadding="1" cellSpacing="1" width="98%">
<tr>
  <td align="right" bgcolor="#ddf0ff" width="20%"><font size="+0">文章主題:</font></td>
  <td bgcolor="#ffffff" width="80%">SUBJECT</td>
</tr>
<tr>
  <td align="right" bgColor="#ddf0ff" noWrap><font size="+0">發表時間:</font></td>
  <td bgColor="#ffffff">POSTDATE</td>
</tr>
<tr>
  <td align="right" bgColor="#ddf0ff" noWrap vAlign="top"><font size="+0">發表內容:<br>
  EMOTION</font></td>
  <td bgColor="#ffffff" vAlign="top">MESSAGE</td>
</tr>
</table>
<br>
<!-- END DYNAMIC BLOCK: row -->
<!-- END: showpost.tpl -->

紅色是動態樣板定義方法,藍色是樣板變數。


主題說明: MySQL server through socket '/tmp/mysql.sock' (111) ?
更新日期: 03/23/2001
適用書籍: All

內文:

執行 PHP 時出現類似這樣的錯誤訊息:

Warning: MySQL Connection Failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) in /home/httpd/html/show.php on line 9

請將 /tmp/mysql.sock link 到 /var/lib/mysql 目錄裡即可:

linux# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock


主題說明: 如何安裝 PEAR ? (Linux & Win32)
更新日期: 03/19/2001
適用書籍: All

內文:

PEAR 實際上是用 PHP 寫的 class 函數庫,因此,只要 PHP 能夠利用 include 將檔案引進來即可使用 PEAR。在 Linux/UNIX 底下,請切換至 PHP 原始碼目錄下的 pear/ 目錄,然後打:

linux# make install

即可安裝 PEAR。如果是在 Win32 (WIN NT) 環境下的讀者,底下是「小秦」網友提供的方法:(原文如下)

把pear相關的檔案(source裡的pear目錄下)先copy到windows下先要放置的目錄裡(例 c:\php\lib),然後編輯你的C:\WINSYS\php.ini將c:\php\lib加入include_path裡應該就o.k.了?

檔案列表(注意目錄結構)

PEAR_FILES = \
Benchmark/Iterate.php \
Benchmark/Timer.php \
DB.php \
DB/common.php \
DB/ibase.php \
DB/msql.php \
DB/mssql.php \
DB/mysql.php \
DB/oci8.php \
DB/odbc.php \
DB/pgsql.php \
DB/storage.php \
DB/sybase.php \
File/Find.php \
File/SearchReplace.php \
HTML/Form.php \
HTTP.php \
Net/Socket.php \
PEAR.php
PEAR/Installer.php \
Payment/Verisign.php \
XML/Parser.php

最後,要用 PEAR 請別忘了,安裝 PHP 4.0.2 以上的版本!


主題說明: 關於程式執行時 include 指令無法正確執行...!
更新日期: 03/03/2001
適用書籍: All

內文:

關站期間陸續收到數位讀者來信指出,根據書上的範例卻無法執行!這個問題的主要的原因是「include 指令無法找到正確的路徑來 include 檔案」

這部份必須修改 php.ini 檔案,請打開您的 php.ini 設定檔,如不知道檔案放置何處請編寫一個新的檔案,內容如下:

<?php
phpinfo();
?>

存成 test.php 再利用 browser 讀取即可到看一個畫面。然後就可以在畫面上一堆設定裡找到 php.ini 放置的路徑。

接著編輯 php.ini,在 php.ini 裡找到 include_path 的關鍵字,後面加的路徑即是 "include" 所要用的"絕對路徑,例如:

include_path = /home/httpd/html

則打 :

include("test/header.inc");

等於:

include("/home/httpd/html/test/header.inc");

這麼做是為了要更方便的做備份或搬移系統,因為,假如將網頁目錄搬移 (eg: /home2/html) 則只要修改 php.ini 即可! 不必大費周章更改所有檔案 :) 這個設定可以指定n個路徑, 例如:

include_path = /home/httpd/html:/home2/html

之間用 分號隔開,php4 會"依序"去做include的動作,直到找到指定的檔案!


主題說明: p.4-28 nervebook 應改成 guestbook
更新日期: 12/22/2000
適用書籍: F8523 (勘誤)

內文:

p.4-28 中間的地方,原來:

mysql_select_db("nervebook", $link);

應該改成:

mysql_select_db("guestbook", $link);


主題說明: 關於第六章的檔案:post.tpl showpost.tpl post.inc 等
更新日期: 12/22/2000
適用書籍: F8523

內文:

讀者陳先生來信指出,關於第六章的部份,光碟有漏附檔案。說明如下:

(1) post.tpl 這個檔案不存在,post.php 並沒有用到 post.tpl。
(2) showpost.tpl 這個檔案確實漏列在光碟裡,請按這裡[下載] (請另存新檔)!
(3) post.inc 這個檔案也漏列在光碟裡,請按這裡[下載] (請另存新檔)!

參考「關於光碟」範例索引的部份,這二個檔案的正確路徑如下:

templates/showpost.tpl
board/post.inc

(4) 程式裡引用了二個 config.php,但光碟只附一個,因為:

  • jollen/config.php:其它設定,像是系統的路徑、自己加的一些項目。
  • jollen/board/config.php:本檔才是與 board 有關的設定。

光碟附的是 jollen/board/config.php 這一個,而 jollen/config.php 與本案例較無關,在此列出 jollen/config.php 內容如下:

<?php
define(BASE_DIR, "/home/httpd/html/");
?>

本檔於「關於光碟」範例索引裡的位置為:

6-25    config.php

(5) 關於 footer.inc 與 right.inc 則是要根據自己的網頁來編輯,可參考第五章的內容。讀者也可以下載作者自己的 footer.incright.inc 供參考!

 


主題說明: 書上的相關檔案下載處
更新日期: 12/16/2000
適用書籍: F8523

內文:

請直接點取或另存新檔下載:

  1. class.tree
  2. class.overlib
  3. HAWHAW

主題說明: FastTemplate 到那裡下載?
更新日期: 11/28/2000
適用書籍: All

內文:

FastTemplate 官方網頁:http://www.thewebmasters.net/php/FastTemplate.phtml
本站下載:FastTemplate 1.1.0

回首頁 |  TOP |
    Copyright (c) 2006 www.jollen.org
All rights reserved. 更新日期: 2006/04/11