2013-04-15 6 views
1

Я пытался установить sfGuardPlugin часами, но он все еще не работает.Symfony sfGuardPlugin не работает

Сначала я попытался установить это следующим образом: PHP Symfony плагин: установить sfGuardPlugin

Но я получаю эту ошибку:

Fatal error: require_once(): Failed opening required 'PEAR.php' (include_path='/users/alex/fsp:/users/alex/fsp/lib/vendor/symfony/lib/plugins/sfPropelPlugin/lib/vendor:/users/alex/fsp/lib/vendor/symfony/lib/plugins/sfPropelPlugin/lib/task:') in /users/alex/fsp/lib/vendor/symfony/lib/plugin/sfPearEnvironment.class.php on line 15

Хотя я добавил

include_path = ".:/php/includes:/Users/alex/Documents/PEAR/PEAR" 

к php.ini (соответственно php.ini.default). Это php.ini, который я получаю, когда использую функцию phpinfo().

Я пробовал много вещей, чтобы заставить его работать, но затем я попытался установить плагин вручную. Я загрузил пакет с сайта symfony и разобрал его. Я добавил

$this->enablePlugins(array('sfPropelPlugin', 'sfGuardPlugin')); 

в файл ProjectConfiguration.class.php. Тогда я перестроил модель, используя

php symfony propel:build --all --and-load. 

Тогда я изменил базовый класс MyUser в sfGuardSecurityUser. Я редактировал settings.yml и добавил (правильно отформатированный :)):

all: .settings: ... enabled_modules: [default, sfGuardAuth]   .actions: login_module: sfGuardAuth login_action: signin

После сборки я получаю эту ошибку:

Warning: require(/users/alex/fsp/plugins/sfGuardPlugin/lib/user/sfGuardSecurityUser.class.php) [function.require]: failed to open stream: Permission denied in /users/alex/fsp/lib/vendor/symfony/lib/autoload/sfAutoload.class.php on line 188

Fatal error: require() [function.require]: Failed opening required '/users/alex/fsp/plugins/sfGuardPlugin/lib/user/sfGuardSecurityUser.class.php' (include_path='/users/alex/fsp:/users/alex/fsp/lib/vendor/symfony/lib/plugins/sfPropelPlugin/lib/vendor:.:') in /users/alex/fsp/lib/vendor/symfony/lib/autoload/sfAutoload.class.php on line 188

После очистки кэша я получаю эту ошибку:

Fatal error: Class 'sfGuardSecurityUser' not found in /users/alex/fsp/apps/frontend/lib/myUser.class.php on line 4

Класс sfGuardSecurityUser существует в плагинах/sfGuardPlugin/lib/user. Таблицы создаются в базе данных. Конечно, я также включил запись is_secure в true в файле security.yml.

Я пробовал и искал и читал в течение двух дней, чтобы решить эту проблему, но я не могу заставить ее работать. Может ли кто-нибудь помочь?

Спасибо, Alex

+0

Вы проверяли, имеют ли Apache (или сервер http, который вы используете) права на чтение в папку плагина и 'lib' внутри папки плагина? –

+0

Спасибо за ваш ответ, теперь он работает! – alex

+0

Я добавил это как ответ. –

ответ

0

кажется, что ваш пользователь сервера не имеет доступ к папке плагина чтения. Вот почему он не может загрузить необходимые классы. Конфигурация в порядке.

Изменение разрешений папки, и это сработает.