我遇到了FuelPHP无法自动加载类的问题。在我的登台服务器(Ubuntu,PHP 5.3.10(上,它无法在fuel/app/classes
目录中找到自定义类,也无法oil test
运行(我收到错误消息sh: 1: phpunit: not found
(。奇怪的是,它在我的本地开发版本(Windows,PHP 5.3.6(上运行良好。
怀疑它可能与我第一次在这个项目中使用的 Composer 有关,但是当我从 bootstrap 注释掉行require APPPATH.'vendor/autoload.php';
时,问题并没有得到解决.php(该应用程序仍然无法从fuel/app/classes
加载自定义类(
我很困惑:我在很多项目中使用过FuelPHP,并且从未遇到过自动加载机的任何问题。特别令人费解的是,相同的代码似乎在一个地方工作正常,而在另一个地方则不然。如果有任何关于如何解决此问题的建议,我将不胜感激。
我知道这个问题很久以前就被问过了,但我遇到了同样的问题,所以为了其他有这个问题的人的利益,以下是对我有用的方法:
使用以下代码在app/config
目录中创建一个名为 oil.php
的新 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。 更多信息可以在这里找到。
虽然上面的代码修复了特定的 PHPunit 问题,但我仍然遇到燃料和自动加载机无法正常工作的问题。 Fuel PHP 不遵循 psr-4(许多核心 fuel 文件在同一文件中有多个类定义(,这可能会导致某些自动加载器出现问题。