在 Zend Framework 一书中,初学者指南;它说:
目录的内容library/
应该移动到 PHP “包含路径”列表中的某个位置。
我不明白。不包括引用特定位置中特定目录的路径保存值。是这个意思吗?还是我必须将文件夹移动到“包含路径”中已经提到的位置?
在 Zend Framework 一书中,初学者指南;它说:
目录的内容library/
应该移动到 PHP “包含路径”列表中的某个位置。
我不明白。不包括引用特定位置中特定目录的路径保存值。是这个意思吗?还是我必须将文件夹移动到“包含路径”中已经提到的位置?
PHP 的include_path
作用与系统的 PATH 环境变量相同:
“它定义了在查找要执行的命令时要搜索的目录列表。” (鲍勃·兰金,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 的更改。
例如,% sudo apachectl restart # assumes you are using Apache as your web server
希望这可以帮助,
//。艾略特
嗯……你可以两者兼得。
添加一个包含路径到您的php.ini
(搜索类似的东西include_path
)
; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
include_path = ".;C:\PHP\pear;C:\PHP\otherfolder"
或者将文件夹移动到已经包含的某个路径(在执行上一次搜索之后您会知道哪些路径php.ini
)。
当您执行以下操作时:
<?php include 'file.php'; ?>
如果该文件与您正在执行的脚本不在同一目录 (.) 中,则 php 将在 php.ini 上定义的包含路径中查找。