4

我的 PHP 项目中有以下文件:

index.php
private/module1.php
private/module2.php

以这种方式index.php引用module1.php

require_once('private/module1.php');

反过来,module1.phprequires module2.php,因此它具有以下行:

require_once('private/module2.php');

我需要从根通知相对路径才能使其工作。我猜这是因为require_once命令需要一个来自当前文档的路径,它恰好是 index.php。问题是 PHP Storm 无法管理这个引用。例如,它不会将字符串private/module2.php转换为超链接,也不会将其作为实际引用。

如何解决这个问题?

4

3 回答 3

4

您只需要通过指定 PhpStorm 应该用来解析引用的包含路径来正确配置您的 PhpStorm 项目。

转到文件-> 设置-> PHP。

在那里,您应该将项目根目录(您的 index.php 所在的目录)添加到包含路径列表中。

完成此操作后,PhpStorm 应解析require_once('private/module2.php').

此外,您可以通过index.php中某处的set_include_path()将私有目录添加到 PHP 使用的包含路径列表中。然后你可以从你的module1.php调用。require_once('module2.php')

同样,您必须将私有目录添加到 PhpStorm 使用的包含路径列表中,以使其能够解析此引用。

于 2013-03-28T11:57:50.153 回答
1

您也可以只使用基本网址。像

require_once($base_url . 'private/module2.php');

基本 url 可以由您自己在某个地方定义,或者您可以使用 $_SERVER 变量来获取它 http://www.php.net/manual/en/reserved.variables.server.php

于 2013-01-05T20:00:45.047 回答
0

PhpStorm 无法提供参考,因为它正在寻找

index.php
private/module1.php
private/private/module2.php

module1.php应该只需要文件名module2.php

require_once('module2.php);

于 2013-01-05T19:35:34.227 回答