Como rodar PHP no Android?

Saindo um pouco da rotina de escrita de artigos pra série PHP para Iniciantes, decidi escrever esse artigo que pode ser bem útil pra quem quer desenvolver mas não tem um computador para se aventurar. A minha inspiração, dessa vez, veio através da minha cunhada, Danielly, que está dedicando um tempo considerável do seu dia-a-dia para estudar programação.

Aconteceu assim: eu fui visitar minha sogra no domingo e entramos nesse assunto. Ela estava com dificuldades de entender algumas coisas, então pegamos o app que ela estava usando para programar para web (anWriter, que também tem uma versão paga) e começamos a codar um HTML bem simples.

No começo, eu pensava em somente responder algumas poucas perguntas. Mas no final, acabei mostrando HTML, CSS e JavaScript, enaltecendo a importância dessa poderosa interação no dinamismo das páginas. Por fim, chegamos ao assunto de back-end.

- Caraca, como vou mostrar back-end aqui? - pensei, sem ideias, pois nem com meu PC estava.

Então me lembrei que muito tempo atrás eu fiquei sabendo sobre um projeto bem bacana chamado Termux - um emulador de terminal linux para Android - e decidi pesquisar por ele na PlayStore, encontrando isso: https://play.google.com/store/apps/details?id=com.termux&hl=pt_BR&gl=US.

PS.: Com certeza deve ter outros apps que emulem um terminal da mesma forma. Sinta-se a vontade para explorar todos eles, se quiser. O que posso te dizer após testá-lo, é que o Termux funciona, então se não tiver muito tempo para explorar outros, nem perca seu tempo, rs.

Instalando o interpretador

Precisei ensinar para minha cunhada algumas coisas sobre PHP antes de começar, antes mesmo de tentar rodar qualquer coisa, pra ela entender que, se algo desse errado, não seria possível rodar o PHP naquele ambiente.

De cara, tentei instalar o PHP via CLI: apt-get install php.

Falhei miseravelmente.

Quê? Então não dá, Kiko?

Dá sim! É só que antes de instalar qualquer coisa no Linux você precisa atualizar a "base de conhecimento" dele, que é como se fossem dicionários que ajudam a encontrar os pré-requisitos de instalação de pacotes de modo a induzir uma pequena solicitação de instalação de alguma coisa a instalar tudo o que for necessário.

QUÊ

É só rodar um apt-get update antes.

Ah, legal! E depois?

Depois de terminar as atualizações dessas bases de conhecimento, é só rodar apt-get install php novamente. Vai instalar UM MONTE DE COISA, incluindo o interpretador do PHP.

Recapitulando:

apt-get update
apt-get install php

Testando o interpretador

O interpretador sozinho não faz nada, precisamos escrever scripts .php para executar suas instruções, certo, Kiko?

ERRADO

Você pode testar o interpretador do PHP usando o shell interativo através do comando php -a. Isso vai abrir uma interface de interpretação linha a linha. Você pode experimentar depois enviar o comando echo "Hello world" . PHP_EOL; e verá isso ser impresso na interface.

Testando leitura de script

De todo modo, ainda assim, precisamos testar a ação de interpretar um script PHP. Então voltei ao editor de código e criei o seguinte arquivo "index.php" (de acordo com a Sintaxe Básica):

<?php
echo "Ola Dani";

O editor salvou o arquivo na pasta /storage/emulated/0/web/teste-php/.

Enfim, encontramos o primeiro grande problema: o Termux não tinha acesso a nada na pasta /storage, e nem pedia para fornecer. Tive de ir manualmente nas configurações de permissão do aplicativo para liberar o acesso à memória.

Somente depois de fazer isso, conseguimos navegar pelos diretórios para ir até a pasta mencionada acima. E aí foi simples: php index.php imprimiu Ola dani no terminal.

Testando servidor

Se o PHP está executando normalmente via CLI e via arquivo, é muito provável que o comando de servir também funcione. E não custa nada tentar, certo? Já que já estávamos na mesma pasta, executei o comando php -S localhost:8000 para que o interpretador iniciasse um webserver local na porta 8000.

Funcionou perfeitamente. Quando abrimos o link http://localhost:8000 no navegador, ele executou o arquivo index.php e exibiu Ola dani.

Conclusão

Com isso, conseguimos até rodar um webserver para testar localmente. Já dá para começar a estudar back-end à vontade! Sem falar que pode ser possível trazer, também, banco de dados instalando pelo terminal. Eu só não sei se o desempenho vai ser tão legal, falta fazer alguns testes. Por ora, esse é o suficiente para que ela comece a estudar os meus artigos, hehehehe. E quando chegarmos no assunto sobre bancos de dados poderemos testar essa ideia.

Curtiu? Comenta e compartilha! E me conta aí se você também programa pelo celular / tablet, se já fazia isso tudo antes de alguma outra forma e as dificuldades de fazer tudo desse jeito, pode ser? Quero tentar ajudar todo mundo ao máximo.

Inté!