首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含文件(include_path='.:/usr/share/pear:/usr/share/php')的错误

包含文件(include_path='.:/usr/share/pear:/usr/share/php')的错误
EN

Stack Overflow用户
提问于 2017-11-14 14:35:07
回答 1查看 4.8K关注 0票数 0

我刚刚将我的项目上传到使用var/www制作的slim framework服务器上,该项目有一个文件夹结构,类似于:

include -Functions.php controller -weeklysummary.php(我想运行的脚本) vendor -autoload.php

当我试图在本地机器上调用Functions.php脚本中的函数时,该项目运行良好,但在服务器上它一直告诉我

代码语言:javascript
复制
 Warning: require(../vendor/autoload.php): failed to open stream: No such file or directory in /var/www/html/project/include/Functions.php on line 11

 Fatal error: require(): Failed opening required '../vendor/autoload.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/innov8alert/include/Functions.php on line 11`

这就是Functions.php的样子

代码语言:javascript
复制
class Functions {

private $conn;


function __construct() {
    require_once 'Connect.php';
    require '../vendor/autoload.php';
    require '../mailer/class.phpmailer.php';
    $db = new Connect();
    $this->conn = $db->connect();
}

function __destruct() {

}

我查了一下,但似乎没有任何帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-14 15:42:32

这是由于您当前的工作目录(CWD),它与您启动脚本的目录匹配。如果这是一个网站,应该可以安全地假设CWD是index.php文件所在的位置。

围绕这一问题有两种方法:

1)按照注释中的建议,从BASEPATH内部声明一个index.php常量,并始终使用它前缀包含路径:

代码语言:javascript
复制
// index.php:
define('BASEPATH', __DIR__.'/');

// other files:
// require BASEPATH.'path/relative/to/index.php/directory

2)使用__DIR__ 幻数常数本身前缀include on文件,但相对于您从何处包含它们(在您的情况下,这将立即生效,不会发生其他更改):

代码语言:javascript
复制
require __DIR__.'/../vendor/autoload.php';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47288346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档