PHP应用PHP在linxu下的安装与配置
发布时间:2022-07-08 08:28:41 所属栏目:编程 来源:互联网
导读:环境需求与准备工作 在安装 PHP 做为 WWW 服务器的一部份时,我们可以考虑用 UNIX 操作系统;或者是 Windows NT/95 等 Win32 API 的平台。当然,大部份的人都会使用 UNIX 来当作 PHP 的执行平台 (在 Windows NT 的用户大多数都会选择 IIS ASP),因此,本书的
环境需求与准备工作 在安装 PHP 做为 WWW 服务器的一部份时,我们可以考虑用 UNIX 操作系统;或者是 Windows NT/95 等 Win32 API 的平台。当然,大部份的人都会使用 UNIX 来当作 PHP 的执行平台 (在 Windows NT 的用户大多数都会选择 IIS ASP),因此,本书的所有内容以及范例程序都是在 UNIX 上为主。实际上,Linux Apache PHP 应是最经济的选择,因为这样的组合几乎是不用钱的,成本与效益比这也是最好的选择。而许多成功网站的经验,更是采用这种组合最好的佐证。 Linux 操作系统方面,您可以选择各式的 Linux 套件,包括 Slackware Linux、RedHat、OpenLinux、SuSE....等等,反正这方面的软件在店里也是很容易而且很便宜就可以买到。对学生而言,也可以去各大 FTP 站下载完整的系统安装。 Apache 服务器则是目前最多 WWW 网站所采用的服务器。您可以到 http://www.apache.org 下载最新版的程序及相关文件,若您觉得从国外下载要很久的话,也可以用它的 Mirror 网站下载。 PHP 则可以去它的官方网站 http://www.php.net 下载所需要的程序。 虽然目前 WindowsNT 或者 Windows98 等 Win32 的系统平台也能安装 PHP 及 Apache 服务器,不过这似乎没什么道理,因为 PHP 和 Apache 在 UNIX下可以跑得更快更好。 当然,若想使用商业化的系统平台,SUN、IBM、HP、DEC、SGI、NEC 等公司都提供相关的 UNIX 或者是 WindowsNT 的系统平台。加上高安全性调整过后的 Apache 服务器:Stronghold 或是其它支持 SSL 的 Apache 版本。这种组合,相信能满足商业化的需求。而 PHP 就扮演着快速方便的 CGI 角色,让客户对网站的服务品质更加满意。 快速配置及安装 以下是基本的安装步骤,运行环境是 UNIX 系列的系统平台。在安装之前,要先下载 apache_1.3.x.tar.gz 及 php-3.0.x.tar.gz 两个文件。可以将这两个文件放在 /usr/src 中再开始执行以下的步骤。下面每个行号后是一个步骤,步骤中的所有选项是连在一起的,请不要分开执行。 gzip -d -c apache_1.3.x.tar.gz | tar xvf - gzip -d -c php-3.0.x.tar.gz | tar xvf - cd apache_1.3.x ./configure --prefix=/www cd ../php-3.0.x ./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars make make install cd ../apache_1.3.x ./configure --prefix=/www --activate-module=src/modules/php3/libphp3.a make make install 第一、二行利用 gzip 及 tar 加上管道功能,将压缩文件解压还原。然后在 Apache 的原始文件目录中执行环境配置,--prefix 选项指示 Apache 的安装目录路径。之后进入 PHP3 的原始文件目录中,若没有 MySQL 数据库,则可省略 --with-mysql 的选项,重要的是一定要加入 --with-apache 选项,而且 Apache 原始文件的路径要正确。配置完 PHP3 之后就编译、安装到 Apache 的原始文件目录中。之后在 Apache 原始文件目录中再加入 PHP 的模块文件。在编译及安装 Apache 之后就初步完成了。之后就是要配置 Apache 才能让 Web Server 顺利运作。 需要注意的是,PHP 要和任何数据库连接,都要在执行这些步骤之前先将数据库设好,并确定 Web Server 上可以顺利存取数据库系统。如果需要其它的一些 PHP 外部模块也要先配置好这些模块。 cd ../php-3.0.x cp php3.ini-dist /usr/local/lib/php3.ini 之后将 php3.ini 放在指定的目录,如果需要,也可以手动修改 php3.ini 文件文件,以符合使用的要求。 在 Apache 服务器的配置方面,要在 Apache 的配置文件 httpd.conf 或 srm.conf 文件中加入下面的字符串。告诉 Apache 服务器,扩展名 php3 是一个特殊的程序文件。当然扩展名可以设成别的扩展名,还有一些网站将 php 的程序扩展名设为 phtml 也是不错的选择,反正这就要看 Webmaster 的规划了。 AddType application/x-httpd-php3 .php3 -------------------------------------------------------------------------------- 在 PHP 4.x 版的方法大致和 PHP 3.0.x 版相同,不同的地方在于 PHP 4.x 的目录名称及编译后的模块放置目录不同。此外,默认的扩展名也由 .php3 变成了 .php。当然在安装前还要先下载 PHP 4.x 的程序才行。 gzip -dc apache_1.3.x.tar.gz | tar xvf - gzip -dc php-4.0.x.tar.gz | tar xvf - cd apache_1.3.x ./configure --prefix=/www cd ../php-4.0.x ./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars make make install cd ../apache_1.3.x ./configure --prefix=/www --activate-module=src/modules/php4/libphp4.a make make install cd ../php-4.0.x cp php.ini-dist /usr/local/lib/php.ini 在 httpd.conf 或 srm.conf 加入 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 而 PHP 4.x 版中对 Apache 服务器加入了新的环境变量配置项。 php_value [PHP directive name] [value] php_flag [PHP directive name] [On|Off] php_admin_value [PHP directive name] [value] php_admin_flag [PHP directive name] [On|Off] 在 PHP 3.0.x 版中,有些目录可能会有 .htaccess 的文件,使用 PHP 4.0.x 版的系统,必须将这个文件拿掉,可以使用改名字的方式或者直接删除。 当一切配置好了之后,重新执行 Apache 服务器。在 Apache 目录下有 bin 或是 sbin 的目录,其中会有 apachectl 的 shell 程序,输入 apachectl restart 就可以重新启动 Apache 服务器了。赶快试看看 hello, world 程序吧! PHP 的编译配置详细选项 在详细选项上,除了上述的安装简介外,也可以在编译时加入其它的选项。 apache模块 语法: --with-apache=DIR 说明: 用本选项可以让 PHP 以apache的模块方式使用,DIR 的字符串可以是 /usr/local/apache 或其它安装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 本选项需要使用apache的模块方式使用 PHP。可配置是否要使用 PHP 引擎。在 httpd.conf 中加入 php3_engine on/off 亦可配置某目录或某虚拟网站是否要用 PHP 解析器。 (编辑:财气旺网 - 海宁网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐