20.7 本章習題

  • 請問 LAMP 這個伺服器代表什麼意思?這個名詞代表了 Linux + Apache + MySQL + PHP 這個 WWW 伺服器的組成!
  • Apache 的設定檔檔名一般為何?Apache 的設定檔檔名為 httpd.conf ,不過,由於 httpd.conf 內容參數可以使用『 include "額外設定檔名"』,所以也可能具有其他的額外設定檔喔!
  • 在 Apache 的設定檔當中,哪一個參數是用來設定『主網頁』的?設定主網頁的參數為:DocumentRoot 喔!後面接的是主網頁放置的『目錄』!
  • 哪一個指令用來重新啟動與關閉 Apache ?(請以 Apache 本身提供的功能來說明)其實不論是 RPM 還是 Tarball 都是使用 apachectl 這個檔案來啟動 apache 的,不過 RPM 已經將該檔案整合到 /etc/init.d/httpd 裡面去而已
  • 當我使用 ps -aux 的時候,發現好多的 httpd... 的程序,這是正常的嗎? 最多可以有幾個程序是在那個檔案的那個參數所設定的?由於 Apache 預設為多執行緒,所以啟動多個 processes 是正常的。至於啟動幾個 process 則由很多設定所處理, 包括 MinSpareServers, MaxSpareServers, MaxClients 等等。
  • 又,呈上題,這些程序 (process) 的 owner 與 group 是誰?該察看那個設定檔的那個參數?同樣察看 httpd.conf 裡面的 User 與 Group 這兩個設定值!
  • 如果今天我以 http://your.ip 結果卻發現瀏覽器出現類似 FTP 的畫面(會列出該目錄下的所有檔案),這是什麼原因造成的?該如何避免?這是由於在 httpd.conf 裡面,針對該目錄的設定參數『 Options 』當中,設定了 Indexes 這個設定值,導致當找不到主頁時(通常是 index.html),就會將該目錄下的所有檔案秀出來!解決的方法就是拿掉 Options 裡面的 Indexes 設定值即可!
  • 在 Apache 裡面 .htaccess 這個檔案的功能為何?可以用來取代 httpd.conf 裡面的設定參數!創造屬於使用者自己的 Apache 風格!
  • 若你之前瀏覽過網頁,但顯示的資料並非正確的中文。後來按照上文的說明修改了中文的設定,卻還是無法看到中文。 請問可能的原因為何?由於你曾經瀏覽過該網站的網頁,所以該網頁會被你的瀏覽器所暫存 (cache),因此你應該可以這樣做:

    • 在同一頁面下按下『 reload 』來重新載入;
    • 清除掉所有的瀏覽器快取;
    • 將原本的網頁在伺服器端改名,並讓瀏覽器瀏覽新的網頁名稱。
  • PHP 的程式碼一定要使用 <?php 程式碼 ?> 嗎?有沒有替代方案?預設的情況下,你應該要輸入 <?php ?> 才能寫入 PHP 的程式。不過早期的程式或許都以 <? ?> 來撰寫的。 如果想要讓該種方式生效的話,你可以進入 /etc/php.ini 檔案中,修改『short_open_tag = On』這個設定項目即可。