Dov'è l'eseguibile PHP su Ubuntu?


13

Ho installato Apache e PHP. So che PHP funziona come ho testato un semplice file PHP su un server Apache.

Sto scrivendo un semplice server web che dovrebbe essere in grado di elaborare i file PHP. Quindi, una volta ricevuta una richiesta per un file PHP, voglio fare qualcosa come 'exec php test.php' e ottenere l'output e passarlo al client.

Dato che non mi piace molto Ubuntu, non so dove sia l'eseguibile PHP (dovrebbe essere in \ bin giusto?) Per farlo. Ma non vi è alcun file PHP all'interno di \ bin o \ usr \ bin.

Quando corro "quale php" non mostra nulla. Come faccio a fare questo?


1
Quello che è successo è molto probabile che tu abbia php in apache come modulo php (tecnicamente - una libreria non un binario eseguibile che viene chiamato esternamente), ecco perché non riesci a trovare il binario. Questo commento ha lo scopo di completare la risposta, che ti dice cosa bisogna fare per ottenere il binario php nel tuo sistema, ma non fornisce alcun motivo per cui mancasse.
AnonymousLurker,

Se stai davvero eseguendo Ubuntu 8.10 come suggerito dai tuoi tag, dovresti capire che Ubuntu 8.10 è estremamente obsoleto. Dovresti davvero aggiornare al più presto. Non esiste supporto di sicurezza per quella versione.
Zoredache,

@Zoredache sì, lo so che è molto vecchio. Ma non sono un utente Ubuntu. Avevo il CD e l'ho installato, solo per il mio incarico! : D
samsamara,

Risposte:


11

Devi installare il pacchetto php5-clio php5-cgi.

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

Come ha notato Zoredache nel commento. La versione cli non elabora le intestazioni né le produce in output - è una sorta di interprete PHP pulito completamente inconsapevole di HTTP.

Se si desidera una versione in grado di cui sopra, utilizzare la versione CGI.


1
sì, ho appena imparato che ho bisogno di php-cli .. :)
samsamara,

1
Poiché sta scrivendo un server Web, probabilmente non vuole la versione della CLI poiché non sarà in grado di ottenere i dati GET / POST.
Zoredache,

1
ok, installato, ancora domanda: dov'è l'eseguibile?
Andrew,

14

Digita quanto segue nel tuo terminale

dove php


Ho php: /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
capito

11

Ho trovato gli eseguibili in / usr / bin /

per esempio:

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

1

Se stai scrivendo il tuo server web, quasi sicuramente vorrai installare o costruire la versione CGI del binario PHP e vorrai implementare il protocollo CGI nel tuo server web. La versione CGI ha le funzionalità necessarie per acquisire i dati GET / POST.

Vedere:


Sto scrivendo un semplice server Web con supporto PHP e CGI. Per analizzare i file php, quello che farò è 'exec / usr / bin / php file.php'. E puoi eseguire script CGI analizzandoli in perl. Ho ragione? fattibile?
samsamara,

1
Uhm, nessun CGI non ha niente a che fare con il perl. Dovresti davvero leggere almeno l'articolo di Wikipedia.
Zoredache,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.