¿Dónde está el ejecutable PHP en Ubuntu?


13

He instalado Apache y PHP. Sé que PHP funciona ya que probé un archivo PHP simple en un servidor Apache.

Estoy escribiendo un servidor web simple que debería poder procesar archivos PHP. Entonces, una vez que recibo una solicitud de un archivo PHP, quiero hacer algo como 'exec php test.php' y obtener el resultado y pasarlo al cliente.

Como no me gusta mucho Ubuntu, no sé dónde está el ejecutable de PHP (¿debería estar en \ bin, verdad?) Para hacerlo. Pero no hay un archivo PHP dentro de \ bin o \ usr \ bin.

Cuando ejecuto 'which php' no muestra nada. ¿Cómo hago esto?


1
Lo que sucedió es muy probable que tenga php en apache como módulo php (técnicamente, una biblioteca no un binario ejecutable que se llama externamente), por eso no pudo encontrar el binario. Este comentario está destinado a completar la respuesta, que le dice lo que debe hacerse para obtener el binario php en su sistema, pero no proporciona ninguna razón por la que faltaba.
AnonymousLurker

Si realmente está ejecutando Ubuntu 8.10 como sugieren sus etiquetas, debe entender que Ubuntu 8.10 está extremadamente desactualizado. Realmente deberías actualizar lo antes posible. No hay soporte de seguridad para esa versión.
Zoredache

@ Zoredache, sí, sé que es muy viejo. Pero no soy un usuario de Ubuntu. Tenía el CD y lo instalé, ¡solo para mi tarea! : D
samsamara el

Respuestas:


11

Necesita instalar el paquete php5-clio php5-cgi.

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

Como Zoredache señaló en el comentario. La versión de cli no procesa encabezados ni dos salidas: es una especie de intérprete PHP limpio completamente inconsciente de HTTP.

Si desea una versión capaz de lo mencionado anteriormente, use la versión CGI.


1
sí, acabo de enterarme de que necesito php-cli .. :)
samsamara

1
Dado que está escribiendo un servidor web, probablemente no quiera la versión CLI, ya que no podrá obtener los datos GET / POST.
Zoredache

1
ok, instalado, todavía pregunta: ¿dónde está el ejecutable?
Andrew

14

Escriba lo siguiente en su terminal

whereis php


Tengo estophp: /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

Encontré los ejecutables en / usr / bin /

p.ej:

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

1

Si está escribiendo su propio servidor web, seguramente querrá instalar o construir la versión CGI del binario PHP, y querrá implementar el protocolo CGI en su servidor web. La versión CGI tiene las facilidades requeridas para capturar los datos GET / POST.

Ver:


Estoy escribiendo un servidor web simple con soporte para PHP y CGI. Para analizar archivos php, lo que voy a hacer es 'exec / usr / bin / php file.php'. Y puede ejecutar scripts CGI analizándolos en perl. Estoy en lo cierto? ¿factible?
samsamara el

1
Uhm, no CGI no tiene nada que ver con Perl. Realmente deberías leer al menos el artículo de Wikipedia.
Zoredache
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.