【问题标题】:Using php-ai/php-ml with php将 php-ai/php-ml 与 php 一起使用
【发布时间】:2017-09-26 08:43:14
【问题描述】:

我正在使用记事本++。我已经安装了作曲家,并从命令行尝试使用以下代码行composer require php-ai/php-ml 安装 php-ai/php-ml。我的 cmd 告诉我这已成功安装,一切似乎都很好。

但是,在我的 index.php 文件中,如果我尝试使用 php-ai/php-ml 包中的任何库,例如:use Phpml\Dataset\CsvDataset;,我会收到以下错误:

致命错误:未捕获的错误:在 C:\xampp\htdocs\test\index.php:5 中找不到类 'Phpml\Dataset\CsvDataset' 堆栈跟踪:#0 {main} 在 C:\xampp\htdocs 中抛出\test\index.php 在第 5 行

第 5 行是我要求使用该库的行。我必须导入这些库还是什么?

【问题讨论】:

  • 您需要包含作曲家自动加载器。在 index.php 中添加:require __DIR__ . '/path/to/vendor/autoload.php'
  • @MagnusEriksson 我想我可能已经找到了问题.. 我似乎有不止一个 composer.json 文件,但是我找到了正确的一个。这个作曲家文件应该放在哪里才能使用正确的文件?
  • composer.json 应该位于每个项目文件夹下。最常见于项目根文件夹中。因此,如果您有多个项目/站点,则每个项目/站点都应该有自己的 composer.json 文件,该文件定义了该特定项目的依赖关系。
  • @MagnusEriksson 到目前为止,我创建的只是一个简单的 index.php,位于通过下载 XAMPP 生成的文件夹 htdocs 中。 composer.json 文件位于我的笔记本电脑本地,但是在下载 XAMPP 时,它已将 composer.json 文件下载到 PHPmyadmin 文件夹中?
  • composer.lock 和 composer.json 以及供应商文件在我的 C:\Users\john 中,这些文件包含我需要的正确数据。但是,当我尝试运行 PHP 文件时,它会尝试使用 XAMPP 下载的 PHPmyadmin 文件夹中的上述 3 个文件。这应该可以更好地解释它,感谢您的耐心@MagnusEriksson

标签: php machine-learning php-ml


【解决方案1】:

Composer 文件是项目的依赖,所以你应该做的是:

  1. 将 composer.json 和 composer.lock 文件移动到与 index.php 相同的文件夹中。
  2. 打开命令行窗口,转到该文件夹​​并运行:“composer install”。这将创建“供应商”文件夹,下载所有依赖项并在您的项目文件夹中创建一个 autoload.php。
  3. 现在您可以将require __DIR__ . '/vendor/autoload.php' 放在 index.php 的顶部

【讨论】:

    【解决方案2】:

    您的脚本中是否首先需要 vendor/autoload.php 文件? 这是从 composer 自动加载类所必需的。

    <?php
    
    require 'vendor/autoload.php';
    
    use Phpml\Dataset\CsvDataset;
    
    $csv = new CsvDataset();
    

    【讨论】:

    • 是的,我已经尝试过了,但是它在要求行上引发了另一个错误。我看了看,似乎我的笔记本电脑上有 4 个 composer.json 文件。 composer.json 文件应该放在哪里?
    • @johnfish92 - “它抛出另一个错误” - 你得到什么错误?
    • 警告:require(vendor/autoload.php):无法打开流:第 3 行的 C:\xampp\htdocs\test\index.php 中没有这样的文件或目录致命错误:require( ): 在 C:\xampp\htdocs\test\index.php 中打开所需的 'vendor/autoload.php' (include_path='C:\xampp\php\PEAR') 失败 --- 我意识到这是因为当下载 XAMPP 它已经在 PEAR 文件夹中创建了这个,但我不知道如何解决这个问题,因为它似乎已经创建了这些文件夹
    【解决方案3】:

    我认为您需要使用 Composer 在项目根目录中安装开发需求

    bin/phpunit

    【讨论】:

      猜你喜欢
      • 2011-09-17
      • 2016-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多