php include_path 中的 .: 是什么意思?

php include_path 中的 .: 是什么意思?

我正在尝试在运行 xampp 的机器上安装 Zend。Zend 的帮助文件说,为了设置命令行工具,我需要确保 /library 目录的内容放在我的 php include_path 指定的目录中。

当我查看我的 php.ini 时,include_path 被注释掉了,但其值如下所示:

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

include_path 到底指向哪里?我对 Linux 还很陌生,从未见过 .: 作为文件路径的一部分。

答案1

.:实际上只是.(因为:是分隔多个路径的关键字),这意味着正在执行脚本的当前文件夹被包含在include_path中。这样,当您在同一个目录中有两个文件时:

index.php
include-me.php

您可以在 PHP 中使用 来包含第二个include('include-me.php');。如果不在.路径中,您将无法这样做。

因此,为了完成上述安装,您需要将内容放在/library您正在处理的脚本所在的同一文件夹中 - 或者放在/php/includes(假设您;从 ini 文件中删除)。您还可以创建另一个目录 -/opt/Zend/library并添加/opt/Zend/library到您的包含路径语句中:include_path = ".:/php/includes:/opt/Zend/library"

最后 - 由于您正在运行 Ubuntu,因此建议您改用 Ubuntu 的 LAMP 设置(大多数文档都假设您正在使用)。可以通过删除 XAMPP 并执行安装来安装,sudo tasksel install lamp-server这将在系统上安装 Apache 2.2、MySQL、PHP 5.3。如设置 LAMP 堆栈的最简单方法是什么?

答案2

: 是目录列表中的分隔符。

. 表示当前目录

因此,当 php 脚本寻找包含文件时,它将查找与 php 文件相同的目录以及 /php/includes。

相关内容