Di mana PHP dieksekusi di Ubuntu?

13

Saya telah menginstal Apache dan PHP. Saya tahu PHP berfungsi karena saya telah menguji file PHP sederhana di server Apache.

Saya sedang menulis server web sederhana yang harus dapat memproses file PHP. Jadi begitu saya mendapatkan permintaan untuk file PHP, saya ingin melakukan sesuatu seperti 'exec php test.php' dan mendapatkan output dan meneruskannya ke klien.

Karena saya tidak banyak ke Ubuntu, saya tidak tahu di mana PHP executable (harus di \ bin kan?) Untuk melakukannya. Tetapi tidak ada file PHP di dalam \ bin atau \ usr \ bin.

Ketika saya menjalankan 'php mana' tidak menunjukkan apa-apa. Bagaimana saya melakukan ini?

samsamara
sumber
1
Apa yang terjadi kemungkinan besar Anda mendapat php di apache sebagai modul php (secara teknis - perpustakaan bukan biner yang dapat dieksekusi yang dipanggil secara eksternal), itu sebabnya Anda tidak dapat menemukan biner. Komentar ini dimaksudkan untuk melengkapi jawaban, yang memberi tahu Anda apa yang perlu dilakukan untuk mendapatkan php binary di sistem Anda tetapi tidak memberikan alasan mengapa itu hilang.
AnonymousLurker
Jika Anda benar-benar menjalankan Ubuntu 8.10 seperti yang disarankan tag Anda, Anda harus memahami Ubuntu 8.10 sudah sangat ketinggalan zaman. Anda benar-benar harus meningkatkan ASAP. Tidak ada dukungan keamanan untuk rilis itu.
Zoredache
@Zoredache ya saya tahu ini sudah sangat tua. Tapi saya bukan pengguna Ubuntu. Saya memiliki CD dan menginstalnya, hanya untuk tugas saya! : D
samsamara

Jawaban:

11

Anda perlu menginstal paket php5-cliatau php5-cgi.

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

Seperti yang dicatat Zoredache dalam komentar. versi cli tidak memroses tajuk atau dos menghasilkannya - itu semacam penerjemah PHP yang bersih sama sekali tidak mengetahui HTTP.

Jika Anda ingin versi yang mampu disebutkan di atas, gunakan versi CGI.

Kamil Šrot
sumber
1
ya saya baru tahu saya butuh php-cli .. :)
samsamara
1
Karena dia sedang menulis server web, dia mungkin tidak menginginkan versi CLI karena itu tidak akan bisa mendapatkan data GET / POST.
Zoredache
1
ok, diinstal, masih pertanyaan: di mana executable?
Andrew
14

Ketikkan yang berikut di terminal Anda

dimana php

Robert Sinclair
sumber
Saya mendapatkan iniphp: /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

Saya menemukan file executable di / usr / bin /

misalnya:

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

Jika Anda menulis server web Anda sendiri, Anda hampir pasti ingin menginstal atau membangun versi CGI dari biner PHP, dan Anda ingin mengimplementasikan protokol CGI di server web Anda. Versi CGI memiliki fasilitas yang diperlukan untuk menangkap data GET / POST.

Lihat:

Sakit kepala
sumber
Saya sedang menulis server web sederhana dengan dukungan PHP dan CGI. Untuk parsing file php, apa yang akan saya lakukan adalah 'exec / usr / bin / php file.php'. Dan Anda dapat menjalankan skrip CGI dengan menguraikannya ke perl. Apakah saya benar? layak?
samsamara
1
Uhm, tidak ada hubungan CGI dengan perl. Anda benar-benar harus membaca setidaknya artikel wikipedia.
Zoredache