Ошибка использования функции _redirect в Ubuntu
Я разрабатываю систему в Zend Framework, и я внедрил аутентификацию пользователя / рола, используя Zend_Auth для безопасности, и она работает, получая информацию о пользователе / пароле и возвращая пользователя модели с каждым пользовательским роликом.
В моем глобальном макете у меня есть большой баннер, который перенаправляет на главную some/path/default/index/index
а затем внутри IndexController я перенаправляю на домашнюю страницу пользователя, которая зависит от его ролей. Когда я работаю на Windows, у меня нет проблем. Но когда я работаю в своей Ubuntu, _redirect
функция Zend Framework создает исключение для доктрины
Uncaught exception 'Doctrine_Connection_Pgsql_Exception' with message 'SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for integer: ""
Но ошибки начинаются в Zend Broker.
Я использую плагин в своем Front Controller, чтобы узнать, может ли пользователь получить доступ к определенной странице или нет. Как я могу решить эту ошибку?
Это моя трассировка стека:
Fatal error: Uncaught exception 'Doctrine_Connection_Pgsql_Exception' with message 'SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for integer: ""' in /home/project/library/Doctrine/Doctrine/Connection.php:1082 Stack trace: #0 /home/project/library/Doctrine/Doctrine/Connection/Statement.php(269): Doctrine_Connection->rethrowException(Object(PDOException), Object(Doctrine_Connection_Statement)) #1 /home/project/library/Doctrine/Doctrine/Connection.php(1006): Doctrine_Connection_Statement->execute(Array) #2 /home/project/library/Doctrine/Doctrine/Query/Abstract.php(976): Doctrine_Connection->execute('SELECT u.usuari...', Array) #3 /home/project/library/Doctrine/Doctrine/Query/Abstract.php(1026): Doctrine_Query_Abstract->_execute(Array) #4 /home/project/library/Zend/Controller/Plugin/Broker.php on line 336
заранее спасибо
1 ответ
Технически большинство помощников (особенно этот) работают одинаково на любой платформе. Чтобы помочь вам понять, в чем проблема, у меня есть два предложения.
Убедитесь, что вы находитесь в одной среде в обеих системах. Если в одном из них у вас есть APPLICATION_ENV "разработчик", а в другом - "производство", это может вызвать различное поведение в разных системах.
Другая вещь - убедитесь, что вы установили среду, в которой, как вы думаете, вы ее устанавливаете. Некоторые учебные пособия способствуют настройке среды в файле.htaccess через разработчика SetEnv APPLICATION_ENV (например), поэтому все, что вы устанавливаете в public/index.php, может быть вообще не задано.
Еще одна мысль состоит в том, что пути включения могут быть предварительно заданы (до public/index.php) разными в обеих системах.
Надеюсь, что это помогает в процессе:)