
Eu tenho o php7.2 instalado (do repositório remi) no CentOS 7.5. Quero acessar o mysqli na linha de comando php. Ao tentar, mostra o erro:
Chamada para função indefinida mysqli_connect()
O php rodando com o apache funciona bem com o mysqli. Todas as extensões instaladas através do yum refletem perfeitamente aqui. Mas para a linha de comando do php (que analisa um arquivo php.ini diferente), as extensões não são carregadas.
Preciso adicionar separadamente as extensões para php de linha de comando? Se sim, como? Ou alguma outra alternativa? Por favor, informe-nos se precisar de mais informações.
Obrigado pelo seu tempo.
Responder1
Como apontado porMichael Hampton(obrigado) no comentário, houve duas instalações de php no servidor. Cheguei a duas soluções diferentes com base na necessidade específica:
- Para php-cli:
No .bash_profile, a seguinte linha é adicionada
alias php="/usr/bin/php"
- Para executar PHP a partir do servlet java (como comando):
Usar
String[] commands = {"bash", "-c", "/usr/bin/php myphpfile.php arg01 arg02"}; File dir = new File("<my-php-file-directory>"); try{ Process process; process = Runtime.getRuntime().exec(commands, null, dir); process.waitFor(); .... .... }
Isso é tudo
php -modules
no terminal fornece a saída desejada com mysqli.