Хорошо, я знаю, что это уже год назад, но поскольку эта проблема возникла в моей настройке (виртуальная машина под управлением Windows 7 Professional в сети Active Directory с явными правами пользователя) всего несколько дней назад я хотел поделиться своим решением, может быть, это поможет другим сэкономить время:
Я разобрался с 2 проблемами (только на WINDOWS HOSTS!):
- константа PHPEXCEL_ROOT определена с неверными разделителями каталогов
МОЕ РЕШЕНИЕ: измените код php для использования константы DIRECTORY_SEPARATOR в определениях
в файле: PHPExcel.php (около строки 32), например:
//OLD: define('PHPEXCEL_ROOT', dirname(__FILE__) . '/');
define('PHPEXCEL_ROOT', dirname(__FILE__) . DIRECTORY_SEPARATOR);
есть еще 2 файла для изменения: «IOFactory.php» и «Settings.php» (строка 34) на:
//OLD: define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../');
define('PHPEXCEL_ROOT', dirname(__FILE__) . DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR);
- PHP-функция «is_readable» не всегда возвращает правильные результаты на хостах Windows, в моем случае файл был читабельным, но результат был false .
МОЙ РЕШЕНИЕ: Чтобы обойти эту ошибку, вы можете убрать проверку «is_readable» в файле «autoload.php», изменив строку 77 на:
// if ((file_exists($pClassFilePath) === FALSE) || (is_readable($pClassFilePath) === FALSE)) {
if (file_exists($pClassFilePath) === FALSE) {