我在包含/要求方面遇到了问题。
我在根文件中做了一个目录:
root/includes
root/includes/something.inc.php
现在我尝试将该文件包含/要求到我的 Web 应用程序中:
require(Yii::app()->baseurl.'/includes/something.inc.php');
但它说failed to open stream: No such file or directory
当我去mydomain/includes/something.php
它只是工作。
为什么我不能包含/要求此文件?
Yii(1( 提供了多种指向各种路径的快捷方式。最常用的一种是 Yii::app()->baseUrl
和 Yii::app()->basePath
.
这两种快捷方式用于不同的目的,并作用于不同的级别。 baseUrl
表示应用程序在 Web 上可用的 URL。如果您想通过其公共 URL 链接资产和文件,则可以使用它。 basePath
作用于文件系统级别。包含几乎是在文件系统级别完成的。这种不匹配是导致问题的原因。
参考:
- 备案::$basePath
- 备案::$baseUrl
你尝试改为:
require(Yii::app()->baseurl.'/includes/something.inc.php');
由:
require(dirname(__FILE__).'/includes/something.inc.php');