Где находится исполняемый файл PHP в Ubuntu?


13

Я установил Apache и PHP. Я знаю, что PHP работает, так как я тестировал простой файл PHP на сервере Apache.

Я пишу простой веб-сервер, который должен уметь обрабатывать файлы PHP. Поэтому, как только я получаю запрос на файл PHP, я хочу сделать что-то вроде 'exec php test.php', получить вывод и передать его клиенту.

Поскольку я не сильно увлекаюсь Ubuntu, я не знаю, где находится исполняемый файл PHP (должен быть в \ bin, верно?), Чтобы сделать это. Но внутри \ bin или \ usr \ bin нет файла PHP.

Когда я запускаю «который php» он ничего не показывает. Как мне это сделать?


1
Скорее всего, произошло то, что вы получили php в apache как модуль php (технически - библиотека, а не исполняемый файл, вызываемый извне), поэтому вы не смогли найти двоичный файл. Этот комментарий предназначен для завершения ответа, который говорит вам, что нужно сделать, чтобы получить бинарный файл php в вашей системе, но не предоставляет никаких причин, по которым он отсутствовал.
AnonymousLurker

Если вы действительно используете Ubuntu 8.10, как подсказывают ваши теги, вы должны понимать, что Ubuntu 8.10 крайне устарела. Вы действительно должны обновить как можно скорее. Для этого выпуска нет поддержки безопасности.
Zoredache

@Zoredache, да, я знаю, что это очень старый. Но я не пользователь Ubuntu. У меня был компакт-диск, и я установил его, только для моего назначения! : D
Самсамара

Ответы:


11

Вам необходимо установить пакет php5-cliили php5-cgi.

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

Как отметил Зоредаче в комментарии. Cli версия не обрабатывает заголовки и не выводит их - это своего рода чистый интерпретатор PHP, совершенно не подозревающий о HTTP.

Если вы хотите версию с вышеупомянутым, используйте версию CGI.


1
да, я только что узнал, что мне нужен php-cli .. :)
samsamara

1
Поскольку он пишет веб-сервер, он, вероятно , не хочет версию CLI, поскольку он не сможет получить данные GET / POST.
Zoredache

1
ок, установил, еще вопрос: где исполняемый файл?
Андрей

14

Введите следующее в вашем терминале

где php


Я получил это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
Абу Абу

11

Я нашел исполняемые файлы в / usr / bin /

например:

  • / USR / бен / PHP
  • /usr/bin/php7.0
  • /usr/bin/php7.1

1

Если вы пишете свой собственный веб-сервер, вы почти наверняка захотите установить или собрать CGI-версию бинарного файла PHP и захотите внедрить протокол CGI на своем веб-сервере. Версия CGI имеет необходимые средства для сбора данных GET / POST.

Видеть:


Я пишу простой веб-сервер с поддержкой PHP и CGI. Для анализа php-файлов я собираюсь выполнить exec / usr / bin / php file.php. И вы можете запускать CGI-скрипты, анализируя их в perl. Я прав? возможно?
Самсамара

1
Хм, никакой CGI не имеет ничего общего с Perl. Вы действительно должны прочитать хотя бы статью в Википедии.
Zoredache
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.