Quando pensamos em PHP, provavelmente o imaginamos em seu habitat natural: o servidor web. Mas, você sabia que o PHP pode ser usado para muito mais do que apenas criar sites e aplicativos web? Prepare-se para desvendar o misterioso e intrigante mundo do PHP CLI (Command Line Interface)!

O que é PHP CLI?

Para os não iniciados, CLI significa “interface de linha de comando”. No caso do PHP CLI, estamos falando de usar PHP em uma linha de comando, como um shell do Linux, ao invés de em um servidor web. O PHP CLI nos permite escrever scripts PHP que podem ser executados no terminal, independentemente de um servidor web.

PHP CLI para tarefas diárias

Com PHP CLI, você pode escrever scripts PHP para realizar tarefas diárias simples, como copiar arquivos de um diretório para outro. Por exemplo, você poderia escrever um script para copiar todos os arquivos de imagem de um diretório para outro. Aqui está um exemplo rápido de como você pode fazer isso:

<?php
$origem = "/caminho/para/o/diretorio/de/origem";
$destino = "/caminho/para/o/diretorio/de/destino";

$arquivos = glob($origem . '/*');
foreach($arquivos as $arquivo) {
    $arquivoDestino = $destino . '/' . basename($arquivo);
    copy($arquivo, $arquivoDestino);
}

Você pode executar este script diretamente do terminal usando o comando php:

php copiar_arquivos.php

Integrando com MySQL

Mas espere, tem mais! Com PHP CLI, você também pode integrar essas tarefas com um banco de dados MySQL. Por exemplo, depois de copiar os arquivos para o novo diretório, você pode querer registrar esses arquivos em um banco de dados para que eles possam ser acessados por um site de e-commerce.

Aqui está como você poderia fazer isso:

<?php
$origem = "/caminho/para/o/diretorio/de/origem";
$destino = "/caminho/para/o/diretorio/de/destino";

// Conecte-se ao MySQL
$mysqli = new mysqli("localhost", "usuario", "senha", "ecommerce");

$arquivos = glob($origem . '/*');
foreach($arquivos as $arquivo) {
    $arquivoDestino = $destino . '/' . basename($arquivo);
    copy($arquivo, $arquivoDestino);

    // Registre o arquivo no banco de dados
    $stmt = $mysqli->prepare("INSERT INTO imagens (caminho) VALUES (?)");
    $stmt->bind_param("s", $arquivoDestino);
    $stmt->execute();
}
$stmt->close();
$mysqli->close();

Agendando tarefas com PHP CLI

E se você quiser automatizar isso para que seja executado a cada dia às 3 da manhã? Fácil! Você pode usar o agendador de tarefas do Linux, conhecido como “Cron”, para fazer isso.

Para agendar uma tarefa no Cron, você precisará abrir a tabela de cron com o comando crontab -e e adicionar uma linha que se parece com isto:

0 3 * * * /usr/bin/php /caminho/para/seu/script.php

Essa linha instrui o Cron a executar o script PHP às 3 da manhã todos os dias.

Conclusão

Então, aí está! O PHP CLI é uma ferramenta poderosa que vai além do servidor web. Com ele, você pode automatizar tarefas, interagir com o banco de dados MySQL e muito mais. Então, por que não experimentar e ver o que você pode fazer com o PHP CLI hoje?

Sobre o autor

Pós graduado em Gestão de Projetos em Tecnologia da Informação pela UNIASSELVI.
Esposo e Pai, curto atividades ao ar livre (Bike, SUP, Natação, Caminhar, Brincar no campo)

Atua com Banco de Dados Oracle desde de 2007. Atualmente é DBA Senior na FLUIDATA Serviços em Banco de dados (www.fluidata.com.br)

Principais atividade Banco de dados:

Implementação, migração, gerenciamento e suporte a produtos Oracle (8i, 9i, 10g, 11g, 12c, 18c, 19c RAC), multiplataforma;
Implementação, migração, gerenciamento e suporte a produtos Microsoft SQL Server (2008 - 2019);
Implementação, migração, gerenciamento e suporte a produtos PostgreSQL (9.3 - 14);
Monitoramento de ambientes 24×7;
Backup e Recovery;
Performance e Tuning;
Alta disponibilidade (HA);
EM database/grid/cloud control;
Conversão de databases;
Standby database / Oracle Data Guard;

Certificações:

Oracle Cloud Infrastructure 2019 Certified Architect AssociateOracle Cloud Infrastructure 2019 Certified Architect Associate
Oracle Database 12c Administrator Certified ProfessionalOracle Database 12c Administrator Certified Professional
Exadata Database Machine Models X2-2 and X2-8 Technology Support SpecialistExadata Database Machine Models X2-2 and X2-8 Technology Support Specialist
Oracle Database 11g Support SpecialistOracle Database 11g Support Specialist
OCP 11g - Oracle Certified Professional AdministratorOCP 11g - Oracle Certified Professional Administrator
OPN Certified Specialist 10g - PartnerNetwork Certified SpecialistOPN Certified Specialist 10g - PartnerNetwork Certified Specialist
Oracle Database 10g Real Applications Clusters AdministratorCertified ExpertOracle Database 10g Real Applications Clusters AdministratorCertified Expert
Oracle Database 10g: Managing Oracle on Linux Certified ExpertOracle Database 10g: Managing Oracle on Linux Certified Expert
OCP 10g - Oracle Certified Professional AdministratorOCP 10g - Oracle Certified Professional Administrator

Principais atividades DEVOPS:

PHP
ASP.net
C#
Docker
Golang
C++
Delphi
Python
HTML5
JavaScript

Você também pode gostar: