Which PHP version do you use? (in PHP < 5.3.3, default spl_autoload_register was not namespace aware - I mean \ was not replaced by / on Unix systems)
In your code, try to replace:
require __DIR__ . '/../' . $class . '.php';
By:
require __DIR__ . '/../' . str_replace('\\', '/', $class) . '.php';
=> Always use slashes in path, they work everywhere. Backslashes, don't. And don't forget filenames are case sensitive on Unix systems, the opposite of Windows.