FuelPHP的Autoloader无法找到课程

时间:2013-10-10 16:25:59

标签: php composer-php autoload fuelphp

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

我怀疑它可能与Composer有关,我在这个项目上第一次使用它,但是当我从bootstrap.php注释掉行sh: 1: phpunit: not found时,问题并没有解决。应用仍然无法从require APPPATH.'vendor/autoload.php';

加载自定义类

我很难过:我在很多项目中都使用过FuelPHP,从未在Autoloader上遇到任何问题。特别令人费解的是,相同的代码似乎在一个地方工作得很好而在另一个地方却没有。我非常感谢有关如何解决此问题的任何建议。

1 个答案:

答案 0 :(得分:1)

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

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

<?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。可以找到更多信息here

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