4D v12 permite executar diretamente os scripts PHP. Esta nova possibilidade dá acesso a valiosas bibliotecas utilitárias disponíveis através PHP. Estas bibliotecas oferecem em particular funções de:
- criptografado (MD5) e hashing,
- manipulação de arquivos ZIP,
- manipulação de imagens,
- acesso LDAP,
- acesso COM (controle de documentos MS Office), etc.
Para executar um script ou uma função PHP, utilize o comando PHP Execute ou system workers.
Para uma descrição completa dos comandos e da sintaxe PHP, consulte a extensa documentação PHP disponível na Internet. Como exemplo, estas são os endereços de alguns sites de referência:
http://us.php.net/manual/en/
http://phpdeveloper.org/
Pode escolher utilizar outro intérprete PHP diferente ao oferecido por 4D. Isto lhe permite conservar um mesmo intérprete PHP inclusive se atualizar 4D. Além disso, lhe permite instalar todos os módulos personalizados que deseje, de fato, não pode ser utilizado um arquivo php.ini personalizado com o intérprete incluído em 4D. Para utilizar opções de configuração de php diferentes as que se oferecem por padrão, deve administrar um intérprete externo.
Deve configurar o intérprete para que escute uma direção e uma porta TCP específicos. Estes parâmetros podem ser especificados através da configuração do banco de dados, ou para a sessão através do comando SET DATABASE PARAMETER. Obvio, você mesmo deve gerenciar o arranque e funcionamento do intérprete.
Para descarregar e instalar um intérprete PHP, tem duas possibilidades:
Descarregar PHP desde o site oficial PHP. Em Windows, pode selecionar sua versão. Em macOS, tem que compilar sua propria versão ou encontrar uma versão precompilada em outros sites.
Descarregar PHP para macOS e Windows desde a página de descarga de produtos 4D. Lembre que esta versão, utilizada em 4D até 4D v20 R2, que já não tem manutenção.
Para obter informação detalhada sobre a descarga, compilação e instalação de PHP em Windows ou macOS, consulte a seguinte entrada do blog de 4D: Desaparição dos comandos PHP e eliminação do intérprete PHP integrado em 4D.
O arquivo de inicialização php.ini se coloca na pasta Resources do projeto. O arquiivo php.ini pode ser usado, mais particularmente, para declarar a localização das extensões PHP. Se este arquivo não está presente durante a primera chamada a PHP, 4D o criará com as opções de configuração por padrão.
Se não usar o arquivo php.ini por padrão de 4D, deve ter certeza de que o php.ini que use contenha as entradas abaixo:
Note que a versão atual no site web oficial de PHP não carrega o pacote mbstring por padrão (que é exigido por 4D). Se usá-lo, poderia necessitar agregar estas línhas ao arquivo php.ini:
extension_dir = "./ext/"
extension=mbstring
Nota sobre o tempo de espera
Se a duração do processamento PHP for relativamente longa (mais de 30 segundos), por padrão se devolverá um erro 'timeout' em 4D e o processamento vai falhar. Neste caso, pode ajustar o tempo de espera por padrão para atribuir mais tiempo à execução de PHP. Há duas formas de fazer isso:
- definindo a variável max_execution_time no arquiivo php.ini (passe um valor em segundos). Atenção: este ajuste afeta a todos os scripts.
- chamando ao comando set_time_limit(nbSec) no script de execución PHP que está realizando o processamento longo. Passe a duração máxima atribuída à execución de script PHP em nbSec. Recomendamos utilizar este ajuste já que só afeta a este script. Normalmente, por razões de segurança, é preferível manter um valor de tempo de espera inferior para os scripts PHP.