PHP:autoloader can';我找不到文件

PHP:autoloader can';我找不到文件,php,autoloader,Php,Autoloader,我正在使用autoloader按名称空间加载类,它在本地主机上运行良好,但在联机服务器上运行不正常。 当Autoloader.php加载类时,php向我显示此错误: Warning: require(\..\backoffice\controllers\EquipementsManager.php) failed to open stream: No such file or directory 但是我确信路径是正确的,并且文件equipmentsmanager.php存在于该路径中!这意味着

我正在使用autoloader按名称空间加载类,它在本地主机上运行良好,但在联机服务器上运行不正常。
Autoloader.php
加载类时,php向我显示此错误:

Warning: require(\..\backoffice\controllers\EquipementsManager.php) failed to open stream: No such file or directory
但是我确信路径是正确的,并且文件
equipmentsmanager.php
存在于该路径中!这意味着autoloader使用正确的路径正确地加载类,但是PHP一直给我
没有这样的文件或目录
错误
Autoloader.php的代码:

<?php
/**
 * Class Autoloader
 */

class Autoloader{
    /**
     * Enregistre notre autoloader
     */
    static function register(){
        spl_autoload_register(array(__CLASS__, 'autoload'));
    }

    /**
     * Inclue le fichier correspondant à notre classe
     * @param $class string Le nom de la classe à charger
     */
    static function autoload($class){
        require '\\..\\'.$class . '.php';
    }

}
我还尝试了这个
\uuuuu DIR\uuuu.\\\\\\\'.$class.'。php'
仍然存在同样的问题,可以在本地主机上工作,但不能联机。
今天编辑(20/02/2016):
我将autoload()函数编辑为:

static function autoload($class){
        $file = (strpos($class, 'backoffice') === false) ? $class : str_replace('\\', DIRECTORY_SEPARATOR, $class);
        require $file . '.php';
    }
现在我的文件已正确加载,但出现另一个错误:

require(JsonSerializable.php) [function.require]: failed to open stream: No such file or directory
我使用
\JsonSerializable接口
将我的对象转换为jason数组,类似这样:

namespace backoffice\entities;

/**
 * PropertyType
 */
class PropertyType implements \JsonSerializable
{

}
你知道这个界面在SPL中,为什么他不知道

试试看

$require = str_replace('\\', DIRECTORY_SEPARATOR, '..\\'.$class.'.php');
require($require);

尝试更改文件的权限可能会起作用。chmod 777 path/to/file.phpPost您的
Autoloader.php
.str\u replace('\\',目录分隔符,$class)的代码。您的本地主机是Win,服务器nix*?@Dmitry抱歉仍然无法工作!我不明白为什么
“\\\\\\\\.$class.”。php'
可以在本地主机上工作。这引用了服务器根文件夹中的一个文件,这是非常不寻常的。您可以发布用于创建
EquipmentsManager
对象的代码吗?我正在使用autoloader来避免这种情况,而使用namespace.Updated。你能试试吗?
$require = str_replace('\\', DIRECTORY_SEPARATOR, '..\\'.$class.'.php');
require($require);