PHP Fatal error: Uncaught TypeError: preg_match()

Prezados, bom dia.

Estamos enfrentando dificuldades com as permissões do sistema, que está negando nosso acesso e redirecionando a gente para fazer login, sendo que já estou logado e com o perfil necessário para executar a ação desejada, segue exemplo:
image

No log tenho a seguinte mensagem php:

Blockquote

*PHP Fatal error: Uncaught TypeError: preg_match(): Argument #2 ($subject) must be of type string, array given in *
*/var/www/html/lib/pkp/pages/user/PKPUserHandler.php:59\nStack trace:\n#0 /var/www/html/lib/pkp/pages/user/PKPUserHandler.php(59): *
preg_match()\n#1 [internal function]: PKP\pages\user\PKPUserHandler->setLocale()\n#2 /var/www/html/lib/pkp/classes/core/PKPRouter.php(334):

  • call_user_func()\n#3 /var/www/html/lib/pkp/classes/core/PKPPageRouter.php(277): PKP\core\PKPRouter->_authorizeInitializeAndCallRequest()\n#4 *
  • /var/www/html/lib/pkp/classes/core/Dispatcher.php(165): PKP\core\PKPPageRouter->route()\n#5 /var/www/html/lib/pkp/classes/core/PKPApplication.php(373): *
  • PKP\core\Dispatcher->dispatch()\n#6 /var/www/html/index.php(21): PKP\core\PKPApplication->execute()\n#7 {main}\n *
  • thrown in /var/www/html/lib/pkp/pages/user/PKPUserHandler.php on line 59, referer:*

Estou buscando na internet alternativas para corrigir o problema mas ainda não encontrei.

Dados do meu ambiente:
OJS 3.4.0.1.
Mysql 8.0.35
PHP 8.1.21
Linux

Oi Ingrid,

Esse erro no log aparece toda vez que aparece essa mensagem de erro na tela?

Isso acontece ao acessar todas as submissões ou só alguma específica? E acontece sempre ou ocasionalmente?

Essa mensagem de erro do log parece vir de algum bug que possivelmente já foi corrigido, seu OJS é versão OJS 3.4.0.1, considere fazer o upgrade para a última, 3.4.0.7 (veja OJS, OMP, and OPS 3.3.0-19 and 3.4.0-7 released).

1 Like

Oi Henrique, obrigada por me responder.

Sim, apareceu o mesmo erro no log nas duas vezes que executei a mesma ação, percebi isso em duas das minhas revistas, vou fazer mais testes, mas acredito que está geral.

Chegamos até a atualizar o nosso OJS para a versão 3.4.0.5 em ambiente de testes, mas alguns pontos estavam bugados e o cliente decidiu não replicar em ambiente de produção. (irei fazer uma nova rodada de atualização em homologação para a versão citada e testarei novamente, mas será que não tem nenhuma solução de contorno até lá??)

Bom, outro erro que peguei no meu log foi:

[php:error] PHP Fatal error: Uncaught TypeError: Unsupported operand types: string - int in /var/www/html/plugins/generic/recommendByAuthor/RecommendByAuthorPlugin.php:145\nStack trace:\n#0 [internal function]: APP\plugins\generic\recommendByAuthor\RecommendByAuthorPlugin->callbackTemplateArticlePageFooter()\n#1 /var/www/html/lib/pkp/classes/plugins/Hook.php(140): call_user_func_array()\n#2 /var/www/html/lib/pkp/classes/plugins/Hook.php(113): PKP\plugins\Hook::run()\n#3 /var/www/html/lib/pkp/classes/template/PKPTemplateManager.php(1740): PKP\plugins\Hook::call()\n#4 /var/www/html/cache/t_compile/42362804174f266c598cdb32c3208fc745b92101^1c372c95cd85572e0fbc9a53d0323a0b229cfc78_0.app.frontendpagesarticle.tpl.php(43): PKP\template\PKPTemplateManager->smartyCallHook()\n#5 /var/www/html/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_template_resource_base.php(123): content_65f44539c5f0c6_10478885()\n#6 /var/www/html/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_template_compiled.php(114): Smarty_Template_Resource_Base->getRenderedTemplateCode()\n#7 /var/www/html/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php(217): Smarty_Template_Compiled->render()\n#8 /var/www/html/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(238): Smarty_Internal_Template->render()\n#9 /var/www/html/lib/pkp/lib/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(134): Smarty_Internal_TemplateBase->_execute()\n#10 /var/www/html/lib/pkp/classes/template/PKPTemplateManager.php(1325): Smarty_Internal_TemplateBase->display()\n#11 /var/www/html/pages/article/ArticleHandler.php(355): PKP\template\PKPTemplateManager->display()\n#12 [internal function]: APP\pages\article\ArticleHandler->view()\n#13 /var/www/html/lib/pkp/classes/core/PKPRouter.php(334): call_user_func()\n#14 /var/www/html/lib/pkp/classes/core/PKPPageRouter.php(277): PKP\core\PKPRouter->_authorizeInitializeAndCallRequest()\n#15 /var/www/html/lib/pkp/classes/core/Dispatcher.php(165): PKP\core\PKPPageRouter->route()\n#16 /var/www/html/lib/pkp/classes/core/PKPApplication.php(373): PKP\core\Dispatcher->dispatch()\n#17 /var/www/html/index.php(21): PKP\core\PKPApplication->execute()\n#18 {main}\n thrown in /var/www/html/plugins/generic/recommendByAuthor/RecommendByAuthorPlugin.php on line 145, referer:

Infelizmente não sei como te ajudar, pra mim parece que o erro é na verdade um bug que tá ocorrendo durante a verificação das permissões, daí a mensagem que aparece é a do print que vc enviou…

Se vc tiver conhecimento de desenvolvimento/debugging pode tentar verificar a variável $source linha 58 do PKPUserHandler.php que é o que causa erro na linha 59, pois essa variável está como um array e deveria ser uma string.

For English speakers,

She is having issues with OJS authorization, the screenshot says something like “You are not allowed to access this resource”. But from her log, it seems that during the OJS authorization pipeline an error happen breaking it. The error is raised from /var/www/html/lib/pkp/pages/user/PKPUserHandler.php:59 but seems a problem in the line above, line 58, which takes the user variable ‘source’ $request->getUserVar('source'); which is supposed to be a string but its an array.

Olá Henrique,
Fiz uma analise mas apurada do caso, tivemos ajustes no DNS e de alguma forma isso impactou no cabeçalho e alterou nas permissões da revista, mas já foi solucionado e o erro deixou de apresentar.
Muito obrigada pela sua atenção e disposição.

1 Like