PHP3中文文檔(續(xù)1)
發(fā)表時(shí)間:2024-02-19 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]第3章安裝 本章將引導(dǎo)您如何安裝和設(shè)置PHP3。并介紹必要的知識(shí)和軟件。 基本的UNIX技巧(學(xué)會(huì)如何操作和“制作”一個(gè)C編譯器) 一個(gè)標(biāo)準(zhǔn)的ANSI C的編譯器 一個(gè)WEB服務(wù)器(顯然需要) 通過(guò)UNIX源碼編譯安裝 下載源文件 最新的源代碼可以在以下網(wǎng)址找到:http://www.php....
第3章安裝
本章將引導(dǎo)您如何安裝和設(shè)置PHP3。并介紹必要的知識(shí)和軟件。
基本的UNIX技巧(學(xué)會(huì)如何操作和“制作”一個(gè)C編譯器)
一個(gè)標(biāo)準(zhǔn)的ANSI C的編譯器
一個(gè)WEB服務(wù)器(顯然需要)
通過(guò)UNIX源碼編譯安裝
下載源文件
最新的源代碼可以在以下網(wǎng)址找到:http://www.php.net
快速安裝說(shuō)明書(shū)(Apache Module 版本)
1. gunzip apache_1.3.x.tar.gz
2. tar xvf apache_1.3.x.tar
3. gunzip php-3.0.x.tar.gz
4. tar xvf php-3.0.x.tar
5. cd apache_1.3.x
6. ./configure --prefix=/www
7. cd ../php-3.0.x
8. ./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars
9. make
10. make install
11. cd ../apache_1.3.x
12. ./configure --prefix=/www --activate-module=src/modules/php3/libphp3.a
13. make
14. make install
Instead of this step you may prefer to simply copy the httpd binaryovertop of your existing binary. Make sure you shut down yourserver first though.
(也可以使用直接拷貝httpd的二進(jìn)制文件覆蓋已經(jīng)存在的二進(jìn)制文件的方法代替上面的步驟,但是,您必須首先關(guān)閉您的服務(wù)器。)
15. cd ../php-3.0.x
16. cp php3.ini-dist /usr/local/lib/php3.ini
You can edit /usr/local/lib/php3.ini file to set PHP options. If you prefer this file in another location, use --with-config-file=/path in step 8.
(您可以直接編輯/usr/local/lib/php3.ini文件來(lái)設(shè)置PHP選項(xiàng),如果您將此文件存放在另一個(gè)位置,那么請(qǐng)?jiān)诓襟E8中使用with-config-file=/path)
17. Edit your httpd.conf or srm.conf file and add:
AddType application/x-httpd-php3 .php3 You can choose any extension you wish here. .php3 is simply the one we suggest.
(您可以選擇任何您希望的擴(kuò)展,我們認(rèn)為PHP3是一個(gè)十分簡(jiǎn)單的東西。)
18. Use your normal procedure for starting the Apache server.
(You must stop and restart the server, not just cause the server to reload by use a HUP or USR1 signal.)
(您必須停止和重新啟動(dòng)服務(wù)器,而不能僅僅使用服務(wù)器的RELOAD(重新載入)功能。)
這里有兩種方法來(lái)設(shè)置PHP3
1.使用跟隨PHP3而來(lái)的“setup”腳本語(yǔ)言。該腳本語(yǔ)言會(huì)詢問(wèn)用戶一系列的問(wèn)題(大多數(shù)類(lèi)似于PHP/FI 2.0的“install”腳本語(yǔ)言)在最后運(yùn)行“configure”。要運(yùn)行這個(gè)腳本,請(qǐng)輸入:“./setup”。
這個(gè)腳本還將建立一個(gè)叫做“do-conf”的文件,這個(gè)文件將要傳到設(shè)置里面去的數(shù)據(jù)。您可以編輯這個(gè)文件以改變一些設(shè)置(僅僅是一些)而無(wú)須重新運(yùn)行setup程序。然后,輸入:“./do-conf”使用這些選項(xiàng)來(lái)設(shè)置。
2.手動(dòng)的運(yùn)行設(shè)置。查看您可以使用的設(shè)置選項(xiàng),請(qǐng)輸入:“./configure --help”。
不同設(shè)置的詳細(xì)資料將在下面列出。
Apache 模式
按照Apache模式來(lái)建立PHP3,對(duì)問(wèn)題“Build as an Apache module?”(按照Apache 模式建立?)應(yīng)該回答“yes”(是)(設(shè)置—with-apache=DIR)然后詳細(xì)的說(shuō)明Apache分配的基本目錄。如果您已經(jīng)在“/usr/local/www/apache_1.2.4”中解壓縮了了您的Apache配給包,那么這就是您的Apache分配的基本目錄。缺省的目錄為“/usr/local/etc/httpd”。
fhttpd 模式
按照f(shuō)httpd 模式來(lái)建立PHP3,對(duì)問(wèn)題“Build as an fhttpd module?”回答“yes”(設(shè)置—with-fhttpd=DIR)同時(shí)指定fhttpd 模式的源數(shù)據(jù)目錄。缺省的目錄是“/usr/local/src/fhttpd”如果您正在運(yùn)行fhttpd,按照該模式建立PHP將提供更好的性能,更強(qiáng)的控制和遠(yuǎn)程執(zhí)行能力。
CGI 版本
缺省的設(shè)置是按照一個(gè)CGI程序來(lái)建立PHP3。如果您正在運(yùn)行一個(gè)WEB服務(wù)器端的PHP3有這種模式的支持,那么一般的您出于性能的原因?qū)?huì)選擇這種解決方案。然而,CGI版本的PHP3允許Apache用戶在不同用戶身份下的運(yùn)行不同的使用PHP3的頁(yè)面。請(qǐng)仔細(xì)的閱讀有關(guān)安全的章節(jié),如果您將以CGI形式來(lái)運(yùn)行PHP。
數(shù)據(jù)庫(kù)支持選項(xiàng)
PHP對(duì)許多數(shù)據(jù)庫(kù)有內(nèi)置的支持(也有ODBC)
Adabas D
--with-adabas=DIR
編譯的時(shí)候加入對(duì)Adabas D 數(shù)據(jù)庫(kù)的支持。這個(gè)參數(shù)是Adabas D的安裝目錄,缺省是/usr/local/adabasd。
DBase
--with-dbase
激活內(nèi)置的Dbase數(shù)據(jù)庫(kù)的支持,不需要外部的庫(kù)。
FilePro
激活內(nèi)置的只讀的filePro的支持,不需要外部的庫(kù)。
mSQL
--with-msql=DIR
為了激活mSQL的支持,這個(gè)選項(xiàng)的參數(shù)是mSQL的安裝目錄,并且缺省是/usr/local/Hughes。這是mSQL 2.0安裝是的默認(rèn)目錄。Configure能自動(dòng)偵測(cè)出系統(tǒng)所安裝的mSQL版本,PHP3支持1.0和2.0兩個(gè)版本。如果你編譯的是PHP3和mSQL1.0版本,你只能存取1.0中的數(shù)據(jù)庫(kù)和代替調(diào)度算法。
MySQL
--with-mysql=DIR
為了激活MySQL的支持,這個(gè)選項(xiàng)的參數(shù)是MySQL的安裝目錄,缺省是/usr/local/。這是MySQL安裝是的缺省目錄。
iODBC
--with-iodbc=DIR
包括iODBC的支持。這個(gè)特性一開(kāi)始是為iODBC驅(qū)動(dòng)程序管理器設(shè)計(jì)開(kāi)發(fā)的,iODBC是一個(gè)免費(fèi)的重新發(fā)布的ODBC驅(qū)動(dòng)程序管理器,能夠在很多中UNIX系統(tǒng)下工作。這個(gè)參數(shù)是iODBC安裝的目錄,默認(rèn)是 /usr/local。
OpenLink ODBC
--with-openlink=DIR
包括OpenLink ODBC支持。這個(gè)選項(xiàng)的參數(shù)是OpenLink ODBC的安裝目錄,默認(rèn)是 /usr/local/openlink。
Oracle
--with-oracle=DIR
包括Oracle支持。經(jīng)過(guò)測(cè)試,至少在Oracle7.0和7.3下能正常工作。這個(gè)參數(shù)是ORACLE_HOME目錄,如果你的Oracle環(huán)境已經(jīng)被配制好了的話,你就不用指定這個(gè)參數(shù)。
PostgreSQL
--with-pgsql=DIR
包括對(duì)PostgreSQL的支持。這個(gè)參數(shù)是PostgreSQL的安裝時(shí)的基準(zhǔn)目錄,默認(rèn)是 /usr/local/pgsql。
其他的常見(jiàn)數(shù)據(jù)庫(kù)的支持也同上面所列的大致相同,需要時(shí)請(qǐng)參閱您所選擇的數(shù)據(jù)庫(kù)的使用說(shuō)明。
其他配制選項(xiàng)
--enable-sysvsem
包括對(duì)Sys V 信號(hào)(大部分Unix系統(tǒng)都支持)。請(qǐng)參看信號(hào)和共享內(nèi)存文檔來(lái)獲取更多信息。
--enable-sysvshm
包括對(duì)Sys V 共享內(nèi)存的支持(大部分的Unix系統(tǒng)都支持)。請(qǐng)參閱信號(hào)和共享內(nèi)存文檔來(lái)獲取更多信息。
--with-xml
包括對(duì)一種非正式版本的XML語(yǔ)法的支持,使用的是James Clark’s expat library。參閱XML 函數(shù)指南獲取細(xì)節(jié)。
--enable-maintainer-mode
打開(kāi)額外的相關(guān)和編譯警告信息,這些信息經(jīng)常被PHP3的開(kāi)發(fā)人員所使用。
--with-system-regex
使用系統(tǒng)正則表達(dá)式的庫(kù)勝于使用捆綁的那一個(gè)。如果你將PHP3編譯為服務(wù)器組件,編譯時(shí)和連接服務(wù)器時(shí)必須使用同一個(gè)庫(kù)。如果系統(tǒng)中有你所需要的東西,就打開(kāi)這個(gè)選項(xiàng),如果可能,推薦你使用同PHP3捆綁在一起的庫(kù)。
--with-config-file-path
這個(gè)路徑是PHP3啟動(dòng)時(shí)用來(lái)尋找php3.ini文件位置的。
--with-exec-dir
僅僅允許在處于安全模式下的目錄里執(zhí)行,默認(rèn)是 /usr/local/bin/。這個(gè)選項(xiàng)只能被設(shè)置為默認(rèn),他可以后來(lái)通過(guò)修改配制文件里的safe_mode_exec_dir來(lái)實(shí)現(xiàn)。
--disable-debug
在庫(kù)中或執(zhí)行中不包括調(diào)試信息。調(diào)試信息可以幫助你迅速查明問(wèn)題所在,因此,只要PHP還處在alpha或beta的測(cè)試階段,最好保留調(diào)試信息。
--enable-safe-mode
缺省是打開(kāi)”safe_mode”(安全模式)選項(xiàng),這個(gè)選項(xiàng)強(qiáng)加于PHP功能一些限制,如你只能在打開(kāi)你在WEB根目錄下面的文件,請(qǐng)?jiān)敿?xì)閱讀安全那一章以獲得詳細(xì)信息。CGI用戶應(yīng)該總保持這個(gè)選項(xiàng)是打開(kāi)的。這個(gè)選項(xiàng)只能被設(shè)置為缺省,但是你可以后來(lái)通過(guò)修改配置文件(php3.ini)來(lái)打開(kāi)或關(guān)閉這個(gè)選項(xiàng)。
--enable-track-vars
使用PHP3來(lái)保存從HTTP_GET_VARS, HTTP_POST_VARS 或 HTTP_COOKIE_VARS. 來(lái)的請(qǐng)求GWT/POST/cookie的軌跡。這個(gè)選項(xiàng)被設(shè)為缺省值,用戶也可以在以后在 configuration file中設(shè)置track_vars的值來(lái)改變它的屬性(enabled或者disabled)。
--enable-magic-quotes
設(shè)置使魔術(shù)引用成為缺省值。這個(gè)選項(xiàng)僅僅設(shè)置這種缺省情況,它可以使用在configuration file中指定magic_quotes_runtime的方法設(shè)置為可用或不可用。請(qǐng)參考有關(guān) magic_quotes_gpc 和magic_quotes_sybase的相應(yīng)內(nèi)容。
--enable-debugger
激活內(nèi)在的PHP3 debugger支持。這個(gè)特性還僅僅處于實(shí)驗(yàn)的階段。請(qǐng)參考configuration file.中Debugger Configuration 的有關(guān)內(nèi)容。
--enable-discard-path
如果該屬性被置為可用,PHP的二進(jìn)制CGI能夠安全的被防置在WED樹(shù)以外的地方,同時(shí)他人不能采用某種特殊的手段來(lái)獲得存取權(quán)。請(qǐng)參考section in the security chapter中關(guān)于這個(gè)選項(xiàng)的內(nèi)容。
--enable-bcmath
使BC風(fēng)格的任意精度數(shù)學(xué)函數(shù)可以使用。請(qǐng)參考configuration file中有關(guān) configuration file的選項(xiàng)。
--enable-force-cgi-redirect
使用安全檢查內(nèi)部服務(wù)器的重新定向。如果用戶在Apache上運(yùn)行CGI程序需要使用這個(gè)特性。
當(dāng)把PHP當(dāng)成CGI二進(jìn)制來(lái)使用時(shí),作為缺省的設(shè)置,PHP將首先檢查它是否被重新定向所使用(例如,在Apache上使用活動(dòng)指示)。這將確認(rèn)PHP二進(jìn)制不能被用來(lái)直接調(diào)用從而跳過(guò)標(biāo)準(zhǔn)的WEB服務(wù)器身份鑒定程序,例如:http://my.host/cgi-bin/php/secret/doc.html。這個(gè)例子存取了http://my.host/secret/doc.html,但是沒(méi)有進(jìn)行過(guò)HTTPD為目錄/secret所做的安全設(shè)置。
不使用這個(gè)選項(xiàng)而關(guān)閉這種檢查同時(shí)使用旁路HTTPD安全和身份設(shè)置。如果您要這樣做的話,除非是您的服務(wù)器軟件不能指出一種安全的重新定向;同時(shí)在您的文件夾根目錄和用戶目錄中的文件將被任何人存取。
請(qǐng)參考安全那一章中有關(guān)這個(gè)選項(xiàng)的內(nèi)容。
--disable-short-tags
禁止短形勢(shì)的PHP3標(biāo)簽<? ?>。如果你想使用XML(擴(kuò)展標(biāo)記語(yǔ)言)的話,就必須禁用<? ?>,那么,PHP的代碼標(biāo)簽就只剩下<?php ?>了。這個(gè)選項(xiàng)只能被設(shè)置為默認(rèn)?梢酝ㄟ^(guò)修改配置文件里的short open tag指令來(lái)打開(kāi)或者關(guān)閉這個(gè)選項(xiàng)。
--enable-url-includes
通過(guò)include()函數(shù),PHP3能夠直接運(yùn)行其它HTTP和FTP站點(diǎn)的代碼。參閱配置文件里的include path選項(xiàng)。
--disable-syntax-hl
關(guān)閉語(yǔ)法突出顯示功能。
CPPFLAGS and LDFLAGS
為了能在PHP的安裝過(guò)程中能在不同的路徑下找到頭文件和庫(kù)文件,修改cppllags和ldflags環(huán)境變量。如果你正在使用一種智能shell(命令解釋程序),你應(yīng)當(dāng)能夠設(shè)置LDFLAGS=-L/my/lib/dir CPPFLAGS=-I/my/include/dir ./configure
創(chuàng)建
配置完P(guān)HP3,你即將創(chuàng)建可執(zhí)行的CGI或PHP3的庫(kù)。 Make的命令應(yīng)該注意到這些問(wèn)題,如果失敗了,你將不知道為什么?請(qǐng)察看問(wèn)題那一章。
測(cè)試
如果你已經(jīng)把PHP3作為CGI程序進(jìn)行了創(chuàng)建,你可以通過(guò)make test命令來(lái)測(cè)試你的工作。建議你進(jìn)行測(cè)試,在你的平臺(tái)上早點(diǎn)發(fā)現(xiàn)你的PHP3的問(wèn)題,好過(guò)你日后為這個(gè)問(wèn)題的解決焦頭爛額。