GB | BIG5
|
| 首頁 > 編程技術 > Php > 正文 |
 |
| PHP4手冊:安裝與設定(二) |
| http://netleader.126.com 星空浪子 (2001-04-16 16:53:02) |
--------------------------------------------------------------------------------
PHP 的編譯設定細部選項
--------------------------------------------------------------------------------
在細部選項上,除了上述的安裝簡述外,也可以在編譯時加入其它的選項。
阿帕契模組
語法: --with-apache=DIR
說明: 用本選項可以讓 PHP 以阿帕契的模組方式使用,DIR 的字串可以是 /usr/local/apache 或其它安裝阿帕契的目錄
范例: --with-apache=/var/lib/apache
fhttpd 伺服器模組
語法: --with-fhttpd=DIR
說明: 若使用 fttpd 伺服器,可以使用本指令編譯 PHP。用模組的方式配合 fttpd 伺服器,可以有較好的效能。
Adabas D 資料庫
語法: --with-adabas=DIR
說明: 資料庫系統為 Adabas D 資料庫時需要加本選項。關 Adabas D 資料庫的細節,可以參考 http://www.adabas.com。
范例: --with-adabas=/usr/local/adabasd
dBase 資料表
語法: --with-dbase
說明: 只要加本選項,不用其它的參數或函式庫,PHP 就會讓系統有存取 dBase 資料表的功能。
filePro 資料庫
語法: --with-filepro
說明: 不用指定資料庫路徑及其它函式庫等,可以讀取 filePro 資料庫 (唯讀)。
mSQL 資料庫
語法: --with-msql=DIR
說明: 提供存取 mSQL 資料庫。更多的細節請參考 mSQL 的網站 http://www.hughes.com.au。
范例: --with-msql=/usr/local/Hughes
MySQL 資料庫
語法: --with-mysql=DIR
說明: 提供存取 MySQL 資料庫。更多的細節請參考 MySQL 的網站 http://www.tcx.se。
范例: --with-mysql=/usr/local/mysql
iODBC 資料庫裝置
語法: --with-iodbc=DIR
說明: 提供 ODBC 資料庫裝置,用來存取端資料庫。更多的細節請參考 iODBC 的網站 http://www.iodbc.org。
范例: --with-iodbc=/usr/local/iodbc
OpenLink ODBC 資料庫裝置
語法: --with-openlink=DIR
說明: 使用 OpenLink ODBC 資料庫裝置,用來存取端資料庫。更多的細節請參考 OpenLink ODBC 的網站 http://www.openlinksw.com。
范例: --with-openlink=/usr/local/openlink
Oracle 資料庫
語法: --with-oracle=DIR
說明: 使用 Oracle 資料庫。Oracle 的版本要在 7.3 版以上。您也可以在 PHP 程式中使用環境變數 ORACLE_HOME 來指定 Oracle 的路徑。更多有關 Oracle 的資訊請參考 Oracle 的網站 http://www.oracle.com。
范例: --with-oracle=/export/app/oracle/product/7.3.2
PostgreSQL 資料庫
語法: --with-pgsql=DIR
說明: 使用 PostgreSQL 資料庫。更多有關 PostgreSQL 的資訊請參考 PostgreSQL 的網站 http://www.postgreSQL.org 或台灣的 Mirror 站 http://postgresql.ccit.edu.tw。
范例: --with-pgsql=/usr/local/pgsql
Solid 資料庫
語法: --with-solid=DIR
說明: 使用 Solid 資料庫。更多有關 Solid 的資訊請參考 Solid 的網站 http://www.solidtech.com。
范例: --with-solid=/usr/local/solid
Sybase 資料庫
語法: --with-sybase=DIR
說明: 使用 Sybase 資料庫。更多有關 Sybase 的資訊請參考 Sybase 的網站 http://www.sybase.com。
范例: --with-sybase=/home/sybase
Sybase-CT 資料庫
語法: --with-sybase-ct=DIR
說明: 使用 Sybase-CT 資料庫。
范例: --with-sybase-ct=/home/sybase
Velocis 資料庫
語法: --with-velocis=DIR
說明: 使用 Velocis 資料庫。有關 Velocis 資料庫的進一步資料請參考 Raima 公司的網站 http://www.raima.com。
范例: --with-velocis=/usr/local/velocis
自訂 ODBC 資料庫驅動程式
語法: --with-custom-odbc=DIR
說明: 使用自訂的 ODBC 函式庫。當然,在使用本方式時要指定 CUSTOM_ODBC_LIBS 及 CFLAGS 變數。例如在 QNX 機器上使用 Sybase SQL Anywhere 時可能要設定系統環境變數 CFLAGS=-DODBC_QNX、LDFLAGS=-lunix 及 CUSTOM_ODBC_LIBS="-ldblib -lodbc",並要在 PHP 設定加入 --with-custom-odbc=/usr/lib/sqlany50
范例: --with-custom-odbc=/usr/local/odbc
不使用 ODBC 資料庫驅動程式
語法: --disable-unified-odbc
說明: 使用本選項將使所有的 ODBC 資料庫驅動程式不作用。本選項不用指定路徑,而受本選項影響的選項有 --with-iodbc、--with-solid、--with-adabas、--with-velocis 及 --with-custom-odbc。
LDAP 目錄協定
語法: --with-ldap=DIR
說明: 若要使用目錄協定 (Lightweight Directory Access Protocol, LDAP) 則必須要打開本選項。有關 LDAP 的細節,可以參考 RFC 文件的 RFC1777 及 RFC1778。
范例: --with-ldap=/usr/local/ldap.
mcrypt 編碼函式庫
語法: --with-mcrypt=DIR
說明: 當安裝了 mcrypt 函式庫,可在編譯 PHP 時加入本選項,讓程式可以使用編解碼功能。
范例: --with-mcrypt=/usr/local/include
Sys V 信號
語法: --enable-sysvsem
說明: 要使用 SysV 的信號 (semaphores) 機制,則要打開本選項。
XML 支援
語法: --with-xml
說明: 打開本選項可以支援 James Clark's 寫的 XML 剖析程式庫。
維護模式
語法: --enable-maintainer-mode
說明: 本選項一般不會打開,除非是 PHP 開發人員比較有用。
常規表示程式庫
語法: --with-system-regex
說明: 若您需要額外的常規表示功能,可以加入本選項。
PHP 設定檔
語法: --with-config-file-path=DIR
說明: 用來指定 php3.ini 或 php4.ini 的路徑,供 PHP 初始化時使用。
范例: --with-config-file-path=/usr/local/lib
PHP 執行路徑
語法: --with-exec-dir=DIR
說明: 有時為了系統的安全性考量,會指定 PHP 程式一定要在哪個目錄執行。
范例: --with-exec-dir=/usr/local/bin
除錯模式
語法: --enable-debug
說明: 本選項一般不會使用,除非在開發 PHP 程式時比較有用。它可以顯示額外的錯誤訊息。
安全模式
語法: --enable-safe-mode
說明: 內定值是打開的,可以對系統安全提供比較多的保護。
變數追蹤
語法: --enable-track-vars
說明: 讓 PHP 能 追蹤 HTTP_GET_VARS、HTTP_POST_VARS 及 HTTP_COOKIE_VARS 三個變數,一般是打開的。
自動加引入字元
語法: --enable-magic-quotes
說明: 可讓程式在執行時自動加入反斜線的引入字元。
開啟除錯器
語法: --enable-debugger
說明: 打開內建的 PHP 除錯器。目前本功能還在實驗階段,尚未成熟。
取消路徑 (discard path)
語法: --enable-discard-path
說明: 打開這個選項,使用者就不能透過瀏覽器讀取 .htaccess 等和系統安全相關的檔案。
高精確度數學函式
語法: --enable-bcmath
說明: 打開高精確度函式。必須要先安裝本函式庫,本選項方有效。
強迫 CGI 重導
語法: --enable-force-cgi-redirect
范例: 若使用 CGI VERSION 模式來執行 PHP 的設,打開本選項會增加安全性。例如使用者讀 http://my.host/cgi-bin/php/secret/doc.html 遇到比較了解 PHP 系統的駭客級使用者可能會自已輸入以下網址 http://my.host/secret/doc.html 來讀取相關資訊。若 PHP 和 Apache 編譯在一起,讓 PHP 變成 Apache 的一部份,則不需要加入本選項。
不使用短的標記
語法: --disable-short-tags
說明: 設定本選項,PHP 的程式就不能使用短的 .... ?> 標記,一定要用 的長標記。
引入遠端檔案
語法: --enable-url-includes
說明: 設定本選項可讓 PHP 程式可以引入 (include) 遠端的 HTTP 或 FTP 伺服器中的檔案。
關閉語法效果
語法: --disable-syntax-hl
說明: 使用本選項會關閉 PHP 語法的彩色效果。
函式庫路徑
語法: CPPFLAGS=-IDIR 及 LDFLAGS=-LDIR
說明: 若 PHP 在安全或編譯所需的函式庫在特別的路徑,需要加入本選項,LDFLAGS 表示函式庫的路徑,CPPFLAGS 表示標頭檔的路徑。
范例: LDFLAGS=-L/my/lib/dir CPPFLAGS=-I/my/include/dir ./configure
--------------------------------------------------------------------------------
php.ini 設定細部選項
--------------------------------------------------------------------------------
php.ini 或 php3.ini 是 PHP 在啟動時會讀取的設定檔。該檔的存放路徑為 /usr/local/lib/。在 PHP 3.x 版的設定檔為 php3.ini;而在 PHP 4.x 版改為 php.ini。若 PHP 安裝成伺服器的模組,則在 Web 伺服器啟動執行時會讀取,之就不再讀取,因此更動設定的話要重新啟動 Web 伺服器。若使用獨立 PHP CGI 方式,則每次都讀一次。
要看目前的系統設定,可以用 phpinfo() 看到。以下為選項設定
php_value name value
設定變數名稱和值。本選項需 PHP 4.x 版之方可使用。
php_flag name on|off
設定旗標布林變數選項。本選項需 PHP 4.x 版之方可使用。
php_admin_value name value
設定 Apache 的設定檔變數。原來在 .htaccess 的設定改到這個選項設定。本選項需 PHP 4.x 版之方可使用。
php_admin_flag name on|off
設定布林變數當旗標。本選項需 PHP 4.x 版之方可使用。
asp_tags boolean
設定 PHP 程式是否剖析以 ASP Script 語法 <% %> 的標記 (tag)。本選項在 PHP 3.0.4 之才可使用。更多的細節可以參考 嵌入方法 的部份。
auto_append_file string
設定本選項可以讓指定的檔案附加在原 PHP 程式面自動執行。若 PHP 程式中有用到 exit() 函式,則指定的檔案不會執行。參數 string 即為指定自動執行的檔案。
auto_prepend_file string
設定本選項可以讓指定的檔案在原 PHP 程式之前自動執行。參數 string 即為指定自動執行的檔案。
cgi_ext string
本選項設定 CGI 程式的副檔名。
display_errors boolean
本選項設定是否要將執行的錯誤訊息顯示在使用者的瀏覽器上。
doc_root string
設定伺服器的文件及 PHP 檔案放置的根目錄。
engine boolean
本選項需要使用阿帕契的模組方式使用 PHP。可設定是否要使用 PHP 引擎。在 httpd.conf 中加入 php3_engine on/off 亦可設定某目錄或某虛擬站台是否要用 PHP 解譯器。
error_log string
本選項用來設定錯誤記錄檔。在 UNIX 系統上參數 string 即為檔名。Windows NT 會將記錄記在事件檢視器的日志之中。Windows 95/98 則不支援系統記錄。
error_reporting integer
本選項用來設定系統記錄的等級。參數 integer 即為等級的級數旗標,可以加在一起,內定值為 7,見下表
級數 說明
1 一般的錯誤
2 一般的警告
4 剖析錯誤
8 非關鍵的警告
open_basedir string
本選項用來設定提供 PHP 存取的最底層目錄。從該指定目錄之下的檔案或目錄,PHP 程式方可存取。使用本選項主要是為了系統安全性的考量。參數 string 即為欲限制的最底層目錄節點。值得注意的是在 UNIX 系統中,若該節點之下的檔案或目錄有符號鏈結 (symbolic link),則可能會讓使用本選項的目的打折,因此在目錄的設計上考量,也是 Webmaster 的重要任務。內定值是所有檔案均可存取。在 PHP 3.0.7 版之,可以設定多個底層目錄。
gpc_order string
設定 GET/POST/COOKIE 三種模組的順序及規則。參數 string 即為欲設定的規則,例如:設定成 "GP" 表示忽視 cookie,並在存取方法 (method) 相同時,以 POST 取代 GET。
ignore_user_abort string
內定值為 Off。用來設定當傳輸未完成時,使用者端斷線是要繼續處理。
include_path string
為 PHP 程式中 require、include 及 fopen_with_path 等函式的檔案搜尋路徑。在 UNIX 或 Windows 中的斜線方向不同。
log_errors boolean
指定程式錯誤時是否要記錄在 log 檔中。
magic_quotes_gpc boolean
設定 GET/POST/COOKIE 三種模組的特殊字元,包含單引號、雙引號、反斜線、及空字元 (NUL) 是否要自動加入反斜線當溢出字元。
magic_quotes_runtime boolean
設定傳回資料是否自動加入反斜線當溢出字元。
magic_quotes_sybase boolean
設定 sybase 資料中單引號要自動加上反斜線當溢出字元。
max_execution_time integer
設定程式最久執行時間。單位是秒。
memory_limit integer
設定程式最多使用多少記憶體。
short_open_tag boolean
設定是否使用短的 PHP 標記 ( ?>)。若不使用,則必須要用
track_errors boolean
打開本選項可使最的錯誤訊息跟著全域變數 $php_errormsg。
track_vars boolean
打開本選項可讓使用者輸入的字串自動剖析到變數之中,而不用自己處理。
upload_tmp_dir string
指定上傳檔案暫存路徑。
user_dir string
指定使用者自家目錄的路徑。
warn_plus_overloading boolean
若打開本選項,字串間就只能用英文的句號 (.) 連結,而不能用加號 (+) 連結字串。
SMTP string
在 Windows 系列作業系統中,用來指定 SMTP 伺服器,供 mail 函式使用。參數 string 為 SMTP 伺服器名字。
sendmail_from string
設定 "From: " 字串供 Windows 系列作業系統使用 mail 函式。
sendmail_path string
設定 sendmail 程式的放置路徑。例如 /usr/sbin/sendmail。
safe_mode boolean
設定 PHP 在安全模式下執行。
safe_mode_exec_dir string
設定安全模式程式執行的路徑。
debugger.host string
指定遠端除錯的伺服器名稱,可以是 IP 或 Domain Name。
debugger.port string
設定遠端除錯伺服器的埠號 (port)。
debugger.enabled boolean
設定是否可以為除錯模式。
enable_dl boolean
本選項要使用阿帕契模組 (Apache module) 的方式才有效。用來設定 PHP 的 dl() 函式可否作用。當系統處安全模式 (safe-mode) 時,本選項 enable 也無法使用 dl() 函式。
extension_dir string
設定動態函式的路徑。
extension string
PHP 啟動時所要載入的動態擴充功能。
mysql.allow_persistent boolean
設定是否允許 MySQL 資料庫長期連線 (persistent connections),會影響 mysql_pconnect() 函式。
mysql.max_persistent integer
設定每個處理程序最多保持幾個 MySQL 長期連線。
mysql.max_links integer
設定每個處理程式最多開幾個 MySQL 連線,包括長期連線。
msql.allow_persistent boolean
設定是否允許 mSQL 資料庫長期連線 (persistent connections),會影響 msql_pconnect() 函式。
msql.max_persistent integer
設定每個處理程序最多保持幾個 mSQL 長期連線。
msql.max_links integer
設定每個處理程式最多開幾個 mSQL 連線,包括長期連線。
pgsql.allow_persistent boolean
設定是否允許 Postgres 資料庫長期連線 (persistent connections),會影響 pg_pConnect() 函式。
pgsql.max_persistent integer
設定每個處理程序最多保持幾個 Postgres 長期連線。
pgsql.max_links integer
設定每個處理程式最多開幾個 Postgres 連線,包括長期連線。
sybase.allow_persistent boolean
設定是否允許 Sybase 資料庫長期連線 (persistent connections),會影響 sybase_pconnect() 函式。
sybase.max_persistent integer
設定每個處理程序最多保持幾個 Sybase 長期連線。
sybase.max_links integer
設定每個處理程式最多開幾個 Sybase 連線,包括長期連線。
sybct.allow_persistent boolean
設定是否允許 Sybase-CT 資料庫長期連線 (persistent connections),內定值是開啟的。
sybct.max_persistent integer
設定每個處理程序最多保持幾個 Sybase-CT 長期連線。內定值為 -1 表示無限制。
sybct.max_links integer
設定每個處理程式最多開幾個 Sybase-CT 連線,包括長期連線。內定值為 -1,表示沒有限制。
sybct.min_server_severity integer
設定 Sybase-CT 伺服器錯誤報告的最少筆數。內定值為 10。
sybct.min_client_severity integer
設定 Sybase-CT 客戶端錯誤報告的最少筆數。內定值為 10。
sybct.login_timeout integer
設定 Sybase-CT 最久可以使用的登入時間。內定值為 1 分鐘。
sybct.timeout integer
設定 Sybase-CT 的 query 操作時間限制。內定值為無限制。
sybct.hostname string
設定 Sybase-CT 可連線機器名稱。內定值不設限
ifx.allow_persistent boolean
設定是否允許 Informix 資料庫長期連線 (persistent connections),會影響 ifx_pconnect() 函式。
ifx.max_persistent integer
設定每個處理程序最多保持幾個 Informix 長期連線。
ifx.max_links integer
設定每個處理程式最多開幾個 Informix 連線,包括長期連線。
ifx.default_host string
設定 Informix 內定連線的伺服器名稱,供 ifx_connect() 或 ifx_pconnect() 函式使用。
ifx.default_user string
設定 Informix 內定連線的使用者帳號,供 ifx_connect() 或 ifx_pconnect() 函式使用。
ifx.default_password string
設定 Informix 內定連線的使用者密碼,供 ifx_connect() 或 ifx_pconnect() 函式使用。
ifx.blobinfile boolean
設定 Informix 長位元物件模式,0 表在記憶體;1 表在檔案中。亦可以在 PHP 程式中使用 ifx_blobinfile_mode() 函式來修改。
ifx.textasvarchar boolean
設定 Informix 文字模式內定值,0 表傳回 blob 的代碼;1 表傳回 varchar 字串。亦可在 PHP 程式中使用 ifx_textasvarchar() 函式來修改設定。
ifx.byteasvarchar boolean
設定 Informix 位元組模式內定值,0 表傳回 blob 的代碼;1 表傳回 varchar 字串。亦可在 PHP 程式中使用 ifx_byteasvarchar() 來修改設定。
ifx.charasvarchar boolean
設定 Informix 傳回字串的字尾空格是否要自動去除。
ifx.nullformat boolean
設定 NULL 欄位的傳回方式,true 表示傳回字串 NULL,false 表格傳回字串 ""。亦可在 PHP 程式中以 ifx_nullformat() 修改。
bcmath.scale integer
設定 BC 高精確度函式庫的小數點位數。
browscap string
設定瀏覽器的開檔能力名。
uodbc.default_db string
設定 ODBC 內定連線的資料庫名稱,供 odbc_connect() 或 odbc_pconnect() 函式使用。
uodbc.default_user string
設定 ODBC 內定連線的使用者帳號,供 odbc_connect() 或 odbc_pconnect() 函式使用。
uodbc.default_pw string
設定 ODBC 內定連線的使用者密碼,供 odbc_connect() 或 odbc_pconnect() 函式使用。
uodbc.allow_persistent boolean
設定是否允許 ODBC 資料庫長期連線 (persistent connections),會影響 odbc_pconnect() 函式。
uodbc.max_persistent integer
設定每個處理程序最多保持幾個 ODBC 長期連線。
uodbc.max_links integer
設定每個處理程式最多開幾個 ODBC 連線,包括長期連線。
以下和 session 有關的設定值,都在 PHP 4.x 以上的版本方支援。在 php.ini 的設定檔中。
session.save_handler
定義 session 儲存資料的檔案名稱。內定值為 files。
session.save_path
定義 session 儲存資料的檔案路徑。內定值為 /tmp。
session.name
設定 session 所使用的 cookie 名稱。內定值為 PHPSESSID。
session.auto_start
設定 session 是否自動開啟。內定值為 0 (否)。
session.lifetime
設定 cookie 送到瀏覽器的保存時間,單位為秒。內定值為 0,表示直到瀏覽器關閉。
session.serialize_handler
定義連續/解連續資料的標頭,本功能只有 WDDX 模組或 PHP 內部使用。內定值為 php。
session.gc_probability
設定每筆要求回應時的廢物集 (gc, garbage collection) 處理機率。內定值為 1。
session.gc_maxlifetime
設定廢物被清除前的存活秒數。
session.extern_referer_check
決定參照到客戶端的 Session 代碼是否要刪除。有時在安全或其它考量時,會設定不刪除。內定值為 0。
session.entropy_file
設定 session 代碼建立時,使用外部高熵值資源或檔案來建立,例如 UNIX 系統上的 /dev/random 或 /dev/urandom。
session.entropy_length
設定 session 從高熵值資源讀取的位元組數。內定值為 0。
session.use_cookies
設定是否要將 session 變成 cookie 存在使用者端。內定值為 1,表是開啟本功能。
--------------------------------------------------------------------------------
如何寫作 PHP 程式
--------------------------------------------------------------------------------
若只會用 Frontpage、Dreamweaver 的所見即所得編輯模式來寫網頁,而完全不懂 HTML 的語法,恐怕要先下點功夫了解 HTML 語法,才能順利的寫 PHP 程式了。若早就極度了解 HTML 幕排版語言的語法,那應該可以馬上開始 PHP 的程式寫作了。在 PHP 這種端伺服器的程式語言,下苦功去學習 HTML 是寫作的必備條件。
對熟悉 Windows 系列作業平台的使用者,有套軟體倒是在開發 PHP 程式上是蠻方便的,就是 PHP Editor,若對這軟體有興趣,不妨到 http://www.soysal.com/PHPEd 下載最新的版本。同時還需要下載 PHP 程式 Win32 的版本。安裝妥 PHP Win32 版,在 PHP Editor 中設定好 PHP Win32 的路徑,就可以讓您輕鬆地開發 PHP 程式了。至在寫作 PHP 程式的工作平台上,有沒有 Web 伺服器倒是不重要,因為在 PHP Editor 的環境中寫好的程式,按下執行的鍵,由 PHP Editor 直接將所寫的 PHP 程式送給 PHP Win32,並將執行結果處理,呈現在使用者的面前。
若您和筆者一樣,對 Linux/UNIX 很偏執,或許可以嘗試使用 Bluefish: 藍魚 PHP 寫作工具,只要裝好 Linux 及 X-Window 之就可以使用了。要使用中文的話,需要在 X-Window 加入中文的字型及輸入法,要方便的話,使用 RedHat 加上 CLE 中文支援就好了。
假使您已是老 Linux/UNIX 了,也不喜歡使用這些專門的開發工具。相信您對 vi 或是 Emacs 一定相當熟悉,那就在裝妥 Web 伺服器和 PHP 程式,直接用 vi 或 Emacs 寫 PHP 程式就可以了,並且可以直接看到執行的真正結果,和資料庫或是其它的伺服程式連結,也不會有什問題。這種「所寫即所得」的方式,豈不痛快!!
(http://www.fanqiang.com)
進入【UNIX論壇】
|
|
| 相關文章 |
PHP4手冊:函數庫及函數(四十六) SNMP 網管函式庫 (2001-04-18 16:56:55) PHP4手冊:函數庫及函數(四十五) Solid 資料庫連結函式庫 (2001-04-18 16:54:16) PHP4手冊:函數庫及函數(四十四) 信號與共享記憶體函式庫 (2001-04-18 16:49:09) PHP4手冊:函數庫及函數(四十三) 常規表示法函式庫 (2001-04-18 16:40:33) PHP4手冊:函數庫及函數(四十二) URL 處理函式庫 (2001-04-18 16:37:13) PHP4手冊:函數庫及函數(四十一) PostgreSQL 資料庫函式庫 (2001-04-18 15:58:12) PHP4手冊:函數庫及函數(四十) PDF 格式檔案函式庫 - 2 (2001-04-18 15:53:53) PHP4手冊:函數庫及函數(四十) PDF 格式檔案函式庫 - 1 (2001-04-18 15:53:35) PHP4手冊:函數庫及函數(三十九) Perl 相容語法函式庫 (2001-04-18 15:45:08) PHP4手冊:函數庫及函數(三十八) Oracle 資料庫函式庫 (2001-04-18 15:43:09)
|
===更多相關=== |
|
|
 |
★ 樊強制作 歡迎分享 ★ |