将文件“移动”到包含路径列表中意味着什么?

2024-02-25

在《Zend Framework,初学者指南》一书中;它说:

的内容library/目录应该移动到 PHP 中的某个位置“include 路径”列表。

我不明白。不包括引用特定位置中特定目录的路径保留值。是这个意思吗?或者我是否必须将文件夹移动到“包含路径”中已经提到的位置?


PHP's include_path http://www.php.net/manual/en/ini.core.php#ini.include-path与系统的 PATH 环境变量具有相同的用途:

“它定义了在查找要执行的命令时要搜索的目录列表。” (鲍勃·兰金 http://lowfatlinux.com/linux-environment-variables.html, 2011).

正如 andre matos 之前的评论所指出的,您可以将库目录复制到系统的 PHP include_path 目录,也可以在 php.ini 文件中设置 PHP 路径配置指令“include_path”以将库目录包含为目录供 PHP 搜索。

无论您选择哪种方式,您都需要知道系统的 PHP include_path 目录。要查找系统的 PHP include_path 目录,您可以执行以下操作:

% php -i | grep include_path # assuming you are on Linux

-或者,创建一个文件,例如“phpinfo.php”,并添加以下 php 代码:

<?php phpinfo(); ?>

并通过 PHP 运行该文件,

% php phpinfo.php | grep include_path

- 或者,将文件(例如“phpinfo.php”)添加到 Web 服务器知道的目录中,然后在 Web 浏览器中将其作为 URL 打开并搜索“include_path”。

例如,我的系统的 PHP include_path 位于:/usr/lib64/php

虽然最简单的方法可以说是将库目录复制到系统的 PHP include_path 目录(例如 /usr/lib64/php),但在系统的 php.ini 中设置 PHP 路径配置指令“include_path”也同样容易文件。

要在系统的 php.ini 文件中设置 PHP 路径配置指令“include_path”,请打开该文件并在“路径和目录”部分下找到“include_path”路径配置指令。它应该看起来像这样:

;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"

去除 ';'来自操作系统的 PHP 'include_path' 路径配置指令。

例如,如果您使用的是 Linux,它应该如下所示:

;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/path1:/path2"
include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"

然后将 PHP 'include_path' 路径配置指令设置为库目录,作为 PHP 搜索的目录。

例如,我下载了 ZendFramework

/usr/src/done/ZendFramework-1.11.4-minimal/

因此,我必须设置 PHP 'include_path' 配置指令以将库目录包含在 ZendFramework 目录中,如下所示:

include_path = ".:/usr/lib64/php:/usr/src/done/ZendFramework-1.11.4-minimal/library"

系统 php.ini 文件中的“路径和目录”部分现在应如下所示:

;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
include_path = ".:/usr/lib64/php:/usr/src/done/ZendFramework-1.11.4-minimal/library"
;
; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"

让我解释一下我添加到 php.ini 文件中 PHP 'include_path' 配置指令的目录(如上所示):

这 '。'是当前目录,'/usr/lib64/php'是系统的PHP include_path目录,'/usr/src/done/ZendFramework-1.11.4-minimal/library'是库目录的路径ZendFramework 目录。请注意,PHP 'include_path' 配置指令中列出的每个目录必须用 ':' 分隔(与系统 PATH 环境变量中列出的目录相同)。

将目录列表添加到 php.ini 文件中的 PHP“include_path”配置指令后,必须重新启动 Web 服务器以保存对 PHP 的更改。

e.g., % sudo apachectl restart # assumes you are using Apache as your web server

希望这可以帮助,

//。艾略特

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将文件“移动”到包含路径列表中意味着什么? 的相关文章

随机推荐