【问题标题】:Calling Flysystem, why do I get PHP Fatal error: Class 'League\Flysystem\Adapter\Local' not found?调用 Flysystem,为什么会出现 PHP 致命错误:找不到 Class 'League\Flysystem\Adapter\Local'?
【发布时间】:2018-06-06 03:59:51
【问题描述】:

我尝试为 Local 适配器运行 Flysystem 的基本示例代码并得到 Class 'League\Flysystem\Adapter\Local' not found 错误。这是我的流程:

版本检查:

php -v
PHP 5.5.9-1ubuntu4.23 (cli) (built: Feb  8 2018 21:59:47)

安装飞系统:

composer require league/flysystem

输出显示我是最新的(这是我第二次运行它):

Using version ^1.0 for league/flysystem
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files

现在 Web 根目录中有一个 vendor 文件夹。在./web/vendor/league/flysystem/src/Adapter$ 中有这些文件:

AbstractAdapter.php
AbstractFtpAdapter.php
CanOverwriteFiles.php
Ftpd.php
Ftp.php
Local.php
NullAdapter.php
Polyfill/
SynologyFtp.php

...只是显示它似乎安装正确(?)我在我的 web 根目录中创建了一个测试文件和一个测试目录:

  1. fly-local.php
  2. 我的文件/

fly-local.php 我粘贴他们文档中的文本 (https://flysystem.thephpleague.com/docs/adapter/local/):

<?php

use League\Flysystem\Filesystem;
use League\Flysystem\Adapter\Local;

$adapter = new League\Flysystem\Adapter\Local(__DIR__.'/myfiles');
$filesystem = new Filesystem($adapter);

...并将适配器的根文件夹更改为myfiles(正确吗?)。然后我运行它:

php fly-local.php

它输出:

PHP Fatal error:  Class 'League\Flysystem\Adapter\Local' not found in /[PROJECT DIR]/web/fly-local.php on line 6
PHP Stack trace:
PHP   1. {main}() /[PROJECT DIR]/web/fly-local.php:0

我做错了什么?

【问题讨论】:

  • 你还没有包含作曲家自动加载器。

标签: php codeigniter-2 flysystem


【解决方案1】:

你使用了composer,那么你需要包含composerautoload.php文件。

fly-local.php 应该是:

<?php

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

use League\Flysystem\Filesystem;
use League\Flysystem\Adapter\Local;

$adapter = new League\Flysystem\Adapter\Local(__DIR__.'/myfiles');
$filesystem = new Filesystem($adapter);

如果您使用框架,您可以看到它包含为您自动加载的 php 文件(通常是 index.php)。如果您的测试/自定义文件未包含在框架中,则需要手动包含该文件。

【讨论】:

  • 谢谢!我没有提到这一点,但我最终试图从 Codeigniter 2 模型中调用它。所以我必须像 require_once ('./vendor/autoload.php'); 这样要求它。
猜你喜欢
  • 2020-09-02
  • 2020-09-02
  • 2018-01-19
  • 2021-03-15
  • 2021-04-16
  • 2021-03-14
  • 2022-09-29
  • 2021-05-11
  • 1970-01-01
相关资源
最近更新 更多