6.11. Web applications, Apache and PHP
前一頁 | 章 6. Special considerations | 下一頁

## 6.11. Web applications, Apache and PHP

### 6.11.1. Apache

表格 6.16. Variables for ports that use Apache

`USE_APACHE` | The port requires Apache. Possible values: `yes` (gets any version), `1.3`, `2.0`, `2.2`, `2.0+`, etc. Default dependency is on version `1.3`.
`WITH_APACHE2` | The port requires Apache 2.0. Without this variable, the port will depend on Apache 1.3. This variable is deprecated and should not be used anymore.
`APXS` | Full path to the `apxs` binary. Can be overriden in your port.
`HTTPD` | Full path to the `httpd` binary. Can be overriden in your port.
`APACHE_VERSION` | The version of present Apache installation (read-only variable). This variable is only available after inclusion of `bsd.port.pre.mk`. Possible values: `13`, `20`, `22`.
`APACHEMODDIR` | Directory for Apache modules. This variable is automatically expanded in pkg-plist.
`APACHEINCLUDEDIR` | Directory for Apache headers. This variable is automatically expanded in pkg-plist.
`APACHEETCDIR` | Directory for Apache configuration files. This variable is automatically expanded in pkg-plist.

表格 6.17. port Apache 模組時好用的變數

`MODULENAME` | 模組名稱。 預設值為 `PORTNAME`. 範例： `mod_hello`
`SHORTMODNAME` | 簡化的模組名稱。 自動地由變數 `MODULENAME` 產生，不過可以覆蓋它。 範例： `hello`
`AP_FAST_BUILD` | 使用 `apxs` 來編譯及安裝這個模組。
`AP_GENPLIST` | 同樣地，也是自動產生 `pkg-plist`。
`AP_INC` | 在編譯時間加入一個目錄到標頭檔搜尋路徑。
`AP_LIB` | 在編譯時間加入一個目錄到函式庫搜尋路徑。
`AP_EXTRAS` | 傳給 `apxs` 額外的 flags。

### 6.11.2. Web 應用程式

Web 應用程式應該安裝到 ``PREFIX`/www/`appname`` 。 For your convenience, this path is available both in `Makefile` and in `pkg-plist` as `WWWDIR`, and the path relative to `PREFIX` is available in `Makefile` as `WWWDIR_REL`.

The user and group of web server process are available as `WWWOWN` and `WWWGRP`, in case you need to change the ownership of some files. The default values of both are `www`. If you want different values for your port, use `WWWOWN?= myuser` notation, to allow user to override it easily.

請別過於相依 Apache，除非這些程式有明確需要，而得相依 Apache 。也許有些使用者，會想在其他非 Apache 的 Web 伺服器上執行這些網頁程式。

### 6.11.3. PHP

表格 6.18. Variables for ports that use PHP

`USE_PHP` | The port requires PHP. The value `yes` adds a dependency on PHP. The list of required PHP extensions can be specified instead. Example: `pcre xml gettext`
`DEFAULT_PHP_VER` | Selects which major version of PHP will be installed as a dependency when no PHP is installed yet. Default is `4`. Possible values: `4`, `5`
`IGNORE_WITH_PHP` | The port does not work with PHP of the given version. Possible values: `4`, `5`
`USE_PHPIZE` | The port will be built as a PHP extension.
`USE_PHPEXT` | The port will be treated as a PHP extension, including installation and registration in the extension registry.
`USE_PHP_BUILD` | Set PHP as a build dependency.
`WANT_PHP_CLI` | Want the CLI (command line) version of PHP.
`WANT_PHP_CGI` | Want the CGI version of PHP.
`WANT_PHP_MOD` | Want the Apache module version of PHP.
`WANT_PHP_SCR` | Want the CLI or the CGI version of PHP.
`WANT_PHP_WEB` | Want the Apache module or the CGI version of PHP.

### 6.11.4. PEAR modules

Porting PEAR modules is a very simple process.

Use the variables `FILES`, `TESTS`, `DATA`, `SQLS`, `SCRIPTFILES`, `DOCS` and `EXAMPLES` to list the files you want to install. All listed files will be automatically installed into the appropriate locations and added to `pkg-plist`.

Include `${PORTSDIR}/devel/pear/bsd.pear.mk` on the last line of the `Makefile`.

範例 6.4. Example Makefile for PEAR class
PORTNAME= Date PORTVERSION= 1.4.3 CATEGORIES= devel www pear MAINTAINER= example@domain.com COMMENT= PEAR Date and Time Zone Classes BUILD_DEPENDS= ${PEARDIR}/PEAR.php:${PORTSDIR}/devel/pear-PEAR RUN_DEPENDS= ${BUILD_DEPENDS} FILES= Date.php Date/Calc.php Date/Human.php Date/Span.php \ Date/TimeZone.php TESTS= test_calc.php test_date_methods_span.php testunit.php \ testunit_date.php testunit_date_span.php wknotest.txt \ bug674.php bug727_1.php bug727_2.php bug727_3.php \ bug727_4.php bug967.php weeksinmonth_4_monday.txt \ weeksinmonth_4_sunday.txt weeksinmonth_rdm_monday.txt \ weeksinmonth_rdm_sunday.txt DOCS= TODO _DOCSDIR= . .include <bsd.port.pre.mk> .include "${PORTSDIR}/devel/pear/bsd.pear.mk" .include <bsd.port.post.mk>

前一頁 | 上一層 | 下一頁
6.10. Using Java | 起始頁 | 6.12. Using Python

本文及其他文件，可由此下載： ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。

若有 FreeBSD 方面疑問，請先閱讀 FreeBSD 相關文件，如不能解決的話，再洽詢 <questions@FreeBSD.org>。
關於本文件的問題，請洽詢 <doc@FreeBSD.org>。