我正在尝试使OroCommerce软件在服务器上运行,如果我想访问前端,则会出现错误500。
我直接检查了应用程序的日志,并收到以下错误消息:
[2019-07-19 13:52:07] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Debug\Exception\UndefinedMethodException: "Attempted to call an undefined method named "setTokenFactory" of class "Escape\WSSEAuthenticationBundle\Security\Core\Authentication\Provider\Provider"." at /var/www/html/orocommerce-application/var/cache/prod/ContainerGx4rhsy/getEscapeWsseAuthentication_Provider_ApiWsseSecuredService.php line 19 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\UndefinedMethodException(code: 0): Attempted to call an undefined method named \"setTokenFactory\" of class \"Escape\\WSSEAuthenticationBundle\\Security\\Core\\Authentication\\Provider\\Provider\". at /var/www/html/orocommerce-application/var/cache/prod/ContainerGx4rhsy/getEscapeWsseAuthentication_Provider_ApiWsseSecuredService.php:19)"} []
我真的是这个话题的新手,我尝试在OroForums官方论坛上发帖,但是我没有收到任何激活邮件,因此我会在这里尝试好运。
预先感谢您的支持
getEscapeWsseAuthentication_Provider_ApiWsseSecuredService.php
<?php
use Symfony\Component\DependencyInjection\Argument\RewindableGenerator;
// This file has been auto-generated by the Symfony Dependency Injection Component for internal use.
// Returns the private 'escape_wsse_authentication.provider.api_wsse_secured' shared service.
include_once $this->targetDirs[3].'/vendor/symfony/symfony/src/Symfony/Component/Security/Core/Authentication/AuthenticationManagerInterface.php';
include_once $this->targetDirs[3].'/vendor/symfony/symfony/src/Symfony/Component/Security/Core/Authentication/Provider/AuthenticationProviderInterface.php';
include_once $this->targetDirs[3].'/vendor/escapestudios/wsse-authentication-bundle/Escape/WSSEAuthenticationBundle/Security/Core/Authentication/Provider/Provider.php';
include_once $this->targetDirs[3].'/vendor/symfony/symfony/src/Symfony/Component/Security/Core/Encoder/PasswordEncoderInterface.php';
include_once $this->targetDirs[3].'/vendor/symfony/symfony/src/Symfony/Component/Security/Core/Encoder/BasePasswordEncoder.php';
include_once $this->targetDirs[3].'/vendor/symfony/symfony/src/Symfony/Component/Security/Core/Encoder/MessageDigestPasswordEncoder.php';
include_once $this->targetDirs[3].'/vendor/oro/platform/src/Oro/Bundle/UserBundle/Security/WsseTokenFactoryInterface.php';
include_once $this->targetDirs[3].'/vendor/oro/platform/src/Oro/Bundle/UserBundle/Security/WsseTokenFactory.php';
$this->services['escape_wsse_authentication.provider.api_wsse_secured'] = $instance = new \Escape\WSSEAuthenticationBundle\Security\Core\Authentication\Provider\Provider(${($_ = isset($this->services['hwi_oauth.user_checker']) ? $this->services['hwi_oauth.user_checker'] : $this->load('getHwiOauth_UserCheckerService.php')) && false ?: '_'}, ${($_ = isset($this->services['security.user.provider.concrete.chain_provider']) ? $this->services['security.user.provider.concrete.chain_provider'] : $this->load('getSecurity_User_Provider_Concrete_ChainProviderService.php')) && false ?: '_'}, 'api_wsse_secured', ${($_ = isset($this->services['escape_wsse_authentication.encoder.api_wsse_secured']) ? $this->services['escape_wsse_authentication.encoder.api_wsse_secured'] : ($this->services['escape_wsse_authentication.encoder.api_wsse_secured'] = new \Symfony\Component\Security\Core\Encoder\MessageDigestPasswordEncoder('sha1', true, 1))) && false ?: '_'}, ${($_ = isset($this->services['oro_security.wsse_nonce_cache']) ? $this->services['oro_security.wsse_nonce_cache'] : $this->load('getOroSecurity_WsseNonceCacheService.php')) && false ?: '_'}, 3600, '/^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$/');
$instance->setTokenFactory(${($_ = isset($this->services['oro_user.token.factory.wsse']) ? $this->services['oro_user.token.factory.wsse'] : ($this->services['oro_user.token.factory.wsse'] = new \Oro\Bundle\UserBundle\Security\WsseTokenFactory())) && false ?: '_'});
$instance->setFirewallName('api_wsse_secured');
return $instance;