Onde o PHP é executável no Ubuntu?

13

Eu instalei o Apache e o PHP. Eu sei que o PHP funciona porque testei um arquivo PHP simples em um servidor Apache.

Estou escrevendo um servidor web simples, capaz de processar arquivos PHP. Então, quando eu receber uma solicitação de um arquivo PHP, quero fazer algo como 'exec php test.php' e obter a saída e passá-la ao cliente.

Como eu não gosto muito do Ubuntu, não sei onde o executável do PHP está (deve estar em \ bin, certo?) Para fazê-lo. Mas não há arquivo PHP dentro de \ bin ou \ usr \ bin.

Quando eu corro 'qual php' não mostra nada. Como eu faço isso?

samsamara
fonte
11
O que aconteceu é mais provável que você tenha o php no apache como módulo php (tecnicamente - uma biblioteca não um binário executável que é chamada externamente), é por isso que você não conseguiu encontrar o binário. Este comentário pretende concluir a resposta, que informa o que precisa ser feito para obter o binário php em seu sistema, mas não fornece nenhuma razão para que ele estivesse ausente.
AnonymousLurker
Se você está realmente executando o Ubuntu 8.10 como sugerido pelas suas tags, deve entender que o Ubuntu 8.10 está extremamente desatualizado. Você realmente deve atualizar o mais rápido possível. Não há suporte de segurança para essa versão.
perfil completo de Zoredache
@ Zoredache sim, eu sei que é muito antigo. Mas eu não sou um usuário do Ubuntu. Eu tinha o CD e o instalei, apenas para minha tarefa! : D
samsamara

Respostas:

11

Você precisa instalar o php5-cliou php5-cgipacote.

sudo apt-get install php5-cli
# OR
sudo apt-get install php5-cgi

Como Zoredache observou no comentário. A versão cli não processa os cabeçalhos nem os gera - é uma espécie de intérprete PHP limpo, completamente inconsciente do HTTP.

Se você deseja uma versão capaz de mencionar acima, use a versão CGI.

Kamil Šrot
fonte
11
yeah Eu só aprendi que preciso php-cli .. :)
samsamara
11
Como ele está escrevendo um servidor da Web, ele provavelmente não deseja a versão CLI, pois isso não será capaz de obter os dados GET / POST.
perfil completo de Zoredache
11
ok, instalado, ainda pergunta: onde está o executável?
Andrew
14

Digite o seguinte no seu terminal

whereis php

Robert Sinclair
fonte
Eu consegui issophp: /usr/bin/php7.1 /usr/bin/php7.0 /usr/bin/php /usr/bin/php7.2 /usr/lib/php /etc/php /usr/include/php /usr/share/php7.1-opcache /usr/share/php7.2-zip /usr/share/php7.0-intl /usr/share/php7.1-common /usr/share/php7.0-gd /usr/share/php7.2-common /usr/share/php7.1-gd /usr/share/php7.1-xmlrpc /usr/share/php7.2-intl /usr/share/php7.2-mysql
abu abu
11

Encontrei os executáveis ​​em / usr / bin /

por exemplo:

  • / usr / bin / php
  • /usr/bin/php7.0
  • /usr/bin/php7.1
Andrew
fonte
1

Se você estiver escrevendo seu próprio servidor web, certamente desejará instalar ou criar a versão CGI do binário PHP e implementar o protocolo CGI em seu servidor web. A versão CGI possui os recursos necessários para capturar os dados GET / POST.

Vejo:

Zoredache
fonte
Estou escrevendo um servidor web simples com suporte a PHP e CGI. Para analisar arquivos php, o que vou fazer é 'exec / usr / bin / php file.php'. E você pode executar scripts CGI analisando-os para perl. Estou certo? factível?
amigos estão dizendo sobre samsamara
11
Hum, nenhum CGI não tem nada a ver com perl. Você realmente deveria ler pelo menos o artigo da Wikipedia.
perfil completo de Zoredache