Каталог метаданных не может быть записан

0

Я использую Phalcon и MySQL. При входе в систему я получил такую ошибку,

Meta-Data directory cannot be written
#0 [internal function]: Phalcon\Mvc\Model\MetaData\Files->write('map-map\\models\\...', Array)
#1 [internal function]: Phalcon\Mvc\Model\MetaData->_initialize(Object(Map\Models\Users), NULL, NULL, NULL)
#2 [internal function]: Phalcon\Mvc\Model\MetaData->readColumnMapIndex(Object(Map\Models\Users), 1)
#3 [internal function]: Phalcon\Mvc\Model\MetaData->getReverseColumnMap(Object(Map\Models\Users))
#4 [internal function]: Phalcon\Mvc\Model::_invokeFinder('findFirstByUser...', Array)
#5 /var/www/html/app_map_system/app/library/Auth/Auth.php(27): Phalcon\Mvc\Model::__callStatic('findFirstByUser...', Array)
#6 /var/www/html/app_map_system/app/library/Auth/Auth.php(27): Map\Models\Users::findFirstByUsername('[email protected]')
#7 /var/www/html/app_map_system/app/controllers/IndexController.php(44): Map\Auth\Auth->check(Array)
#8 [internal function]: Map\Controllers\IndexController->loginAction()
#9 [internal function]: Phalcon\Dispatcher->callActionMethod(Object(Map\Controllers\IndexController), 'loginAction', Array)
#10 [internal function]: Phalcon\Dispatcher->dispatch()
#11 /var/www/html/app_map_system/public/index.php(41): Phalcon\Mvc\Application->handle()
#12 {main}

Я предоставил доступ к www-данным, а также моему пользователю в каталог /var/www/, используя эту команду,

sudo chown -R www-data: www-data/var/www/

но по-прежнему получают ту же ошибку. Любой, кто столкнулся с той же проблемой? Любая помощь будет оценена по достоинству.

Теги:
phalcon

1 ответ

0
Лучший ответ

У меня была эта же проблема, когда я переключился на Ubuntu. Вот как я это решил.

Во-первых, я понял, что даже после запуска CHMod в моем полном каталоге проектов я всегда сталкивался с ошибкой записи для Meta-Data.

Часть моего кода DI для настройки Meta-Data:

$di -> set('modelsMetadata', function(){
    $metaData = new MetaDataAdapter([
        'metaDataDir'   => APP_PATH . '/cache/metaData/'
    ]);
    return $metaData;
});

Убедитесь, что папка существует. Затем, используя терминал, я делаю команду cd в папку my/app/cache/. После этого запустите: sudo chmod 755 metaData

Надеюсь это поможет...

  • 0
    Работает как шарм! Цените это @Andromadus.
  • 0
    Рад, что мог бы помочь ... :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню