0

我遇到了 FuelPHP 无法自动加载类的问题。在我的登台服务器(Ubuntu,PHP 5.3.10)上,它无法在fuel/app/classes目录中找到自定义类,也无法运行oil test(我收到错误消息sh: 1: phpunit: not found)。奇怪的是,它在我的本地开发版本(Windows,PHP 5.3.6)上运行良好。

我怀疑它可能与我第一次在这个项目中使用的 Composer 有关,但是当我require APPPATH.'vendor/autoload.php';从 bootstrap.php 注释掉该行时问题并没有解决(该应用程序仍然无法从fuel/app/classes)

我被难住了:我在很多项目中都使用过 FuelPHP,而且 Autoloader 从来没有遇到过任何问题。特别令人费解的是,相同的代码似乎在一个地方运行良好,而在另一个地方却不行。对于如何解决此问题的任何建议,我将不胜感激。

4

1 回答 1

1

我意识到很久以前就有人问过这个问题,但是我遇到了同样的问题,因此为了其他有此问题的人的利益,这对我有用:

使用以下代码oil.php在目录中创建一个名为的新 php 文件:app/config

<?php

// Unit tests will get shell error 'phpunit: command not found' unless
//  the path to php unit is specified.
 return array (
     'phpunit' => array (
         'binary_path' => 'fuel/vendor/bin/phpunit',
     ),
 );

我正在使用燃料 1.7.2。更多信息可以在这里找到。

尽管上面的代码修复了特定的 PHPunit 问题,但我仍然遇到Fuel 和 autoloaders not working的问题。Fuel PHP 不遵循 psr-4(许多核心燃料文件在同一个文件中有多个类定义),这可能会导致某些自动加载器出现问题。

于 2014-12-17T21:48:55.073 回答