require_once 导致“没有这样的文件或目录”错误

Posted

技术标签:

【中文标题】require_once 导致“没有这样的文件或目录”错误【英文标题】:require_once results in "No such file or directory" error 【发布时间】:2020-09-25 02:30:04 【问题描述】:

我是 php 新手。

今天我尝试要求一个名为“Ripcord”的 PHP 库,但它不起作用。

我使用 Composer 安装了库,使用以下命令:

% composer.phar require darkaonline/ripcord

...正如您所见,供应商库是在我的源代码树中创建的:

这是我在代码中调用 require_once 的方式(上面的源代码树中的test.php

<?php

require __DIR__ . '/vendor/autoload.php';

$url = "http://ymb.lan:8069";
$db = "odoo_elite";
$username = "admin";
$password = "admin";

require_once('ripcord.php');

$common = Ripcord::client("$url/xmlrpc/2/common");
$common->version();

但是当我运行时,我在 require_once 行收到以下错误:

% php test.php

Warning: require_once(ripcord.php): failed to open stream: No such file or directory in /Users/eylin/Dropbox/Code/elite-portal/test.php on line 10

Fatal error: require_once(): Failed opening required 'ripcord.php' (include_path='.:') in /Users/eylin/Dropbox/Code/elite-portal/test.php on line 10

有什么想法吗?

【问题讨论】:

如果所有内容都在vendor 中,那么自动加载器应该会处理您所有的require 语句。您应该可以将use Ripcord\Providers\Laravel\Ripcord; 放在类的顶部,删除您的 ripcord 要求,它应该可以工作。 删除require 行,你会没事的。 【参考方案1】:

如果你是Linux系统,我支持你要包含的文件名是Ripcord.php(以大写R开头)。但是,您在语句中使用小写 r:

require_once('ripcord.php');

尝试重新检查操作系统类型。

【讨论】:

以上是关于require_once 导致“没有这样的文件或目录”错误的主要内容,如果未能解决你的问题,请参考以下文章

PHP 检查 require_once() 内容是不是为空

安装 pip 包或升级 pip 时出现环境错误 [Errno 2]

使用外部硬盘驱动器,heroku 2.4.0 命令不起作用

PHP - 需要调试

使用 require_once() 或不使用 require_once()

require_once() 找不到包含路径