Ubuntu xenial e debian strecth com php 7.0 não gera captcha

O manual do Scriptcase 9.10 diz:
Projetos desenvolvidos em Scriptcase com PHP 7.0 ou 7.3 estão homologados para serem publicados nas seguintes versões do PHP:

  • PHP 7.0
  • PHP 7.1
  • PHP 7.2
  • PHP 7.3
  • PHP 7.4

Projetos desenvolvidos em Scriptcase com PHP 8.1 estão homologados para serem publicados nas seguintes versões do PHP:

  • PHP 7.0
  • PHP 7.1
  • PHP 7.2
  • PHP 7.3
  • PHP 7.4
  • PHP 8.0
  • PHP 8.1

Mas no php 7.0 em debian stretch ou ubuntu xenial
O captcha em ambiente de produção ao tentar configurar o prod não aparece.
No log do php vemos este erro:
[Tue Jan 23 11:26:36.200554 2024] [:error] [pid 77277] [client xxxxxxxxxxxxxxx] PHP Fatal error: Uncaught Error: Call to undefined function imageantialias() in /var/www/xxx/_lib/prod/lib/php/devel/lib/php/secureimage.php:16\nStack trace:\n#0 {main}\n thrown in /var/www/xxx/_lib/prod/lib/php/devel/lib/php/secureimage.php on line 16, referer: https://xxxxxxxxxxxxxxxr/_lib/prod/lib/php/devel/iface/login.php?rand=f77af14a4910c17e

Creio que seja devido as recentes atualização do ambiente de produção no Sciptcase 9.10.
Ele está chamando uma função imageantialias que não vem nativamente no php 7.0 destas distros.
Então devemos considerar a combinação do Scriptcase 9.9.015 e superiores incompatível com o php 7.0. Neste caso o manual deveria ser atualizado?

1 Curtida

Olá, Alexandre.
Poderia confirmar se a extensão do GD está habilitada?
Se possível, nos envie o diagnosis.

Sim, está.
Mas se procurar no google verá diversas pessoas enfrentando este problema.
Pois antes da versão 7.2 o suporte a função imageantialias estava disponível somente se o php fosse compilado diretamente com o GD.
Mas no Ubuntu Xenial e debian ela é não foi compilada de forma a ter esta função disponível.
No próprio site do php ele fala: PHP: imageantialias - Manual
“7.2.0 imageantialias() is now generally available. Formerly it was only available if PHP was compiled with the bundled version of the GD library.”

Olá, existe um post que dá instruções de como complicar o PHP com o GD, espero que isso possa te ajudar. Mas a princípio seria melhor atualizar o PHP do ambiente. Segue o link:

@Rafael_Herculano Rafael eu tenho conhecimento para compilar mesmo sem este tutorial.
Mas há muitos clientes da netmake que nem sabem que o php é interpretado. Ou que o scriptcase usa php. Eles me falam assim: Foi desenvolvido na linguagem Scriptcase.
Imagina falar em compilar um módulo para estas pessoas.
Ou seja estão chegando sem nenhum conhecimento.
Eu espero que este “tutorial” seja útil para eles. hehehehehe
Sem falar que este tutorial não abrange como colocar todo o suporte aos arquivos que php-gd pode usar. Somente como compilar.
Reconheço que em certos pontos ele coloca um gd=shared --enable-gd-native-ttf para ativar o suporte ao ttf. Mas não fala que bibliotecas tem que ter instaladas para ele compilar com suporte ao ttf, png, jpg, etc.
Ou seja. Se tiver a biblioteca instalada na distro funciona compilar com o suporte. Se não tiver vai para os Universitários.
Eu tenho no meu servidor o php-gd com suporte a todos estas extensões abaixo. Pode pelo menos indicar quais são imprescindíveis e devem ser compiladas com o GD para que o captcha funcione?
Não seria mais fácil mudar o código para que todos aproveitem a correção? A não ser que o php 7.0 tenha sido abandonado. Ai concordo em deixar o usuário se virar para compilar. hehehehehhe

PS: Criei este tópico para as pessoas que nem tem ideia do que seja um módulo php poderem ter uma solução da Netmake. Então seria bom ter uma posição oficial. Teremos um patch, estas pessoas terão que se virar para compilar o GD no php ou o php 7.0 foi abandonado e será melhor migrar para um php mais atual? De qualquer jeito obrigado por indicar o tutorial para eles.

2 Curtidas

Olá, meu objetivo é tentar ajudar da melhor forma os usuário do fórum.
Acredito que a melhor forma ainda seja atualizar o PHP dos ambientes no qual não suporta a extensão.
Agrademos por sua resposta e conhecimento aqui neste post.

1 Curtida