Ubuntu上的PHP可执行文件在哪里?


13

我已经安装了Apache和PHP。我知道PHP可以正常工作,因为我已经在Apache服务器上测试了一个简单的PHP文件。

我正在编写一个简单的网络服务器,该服务器应该能够处理PHP文件。因此,一旦我收到一个PHP文件的请求,我就想执行“ exec php test.php”之类的操作,并获取输出并将其传递给客户端。

由于我对Ubuntu的了解不多,所以我不知道PHP可执行文件在哪里(应该在\ bin中?)。但是\ bin或\ usr \ bin中没有PHP文件。

当我运行“哪个php”时,它什么也没显示。我该怎么做呢?


1
发生的情况很可能是您将apache中的php作为php模块(从技术上讲-一个不是在外部调用的可执行二进制文件的库),这就是为什么找不到该二进制文件的原因。此注释旨在完成答案,它告诉您需要做什么才能在系统中获取php二进制文件,但没有提供丢失它的任何原因。
AnonymousLurker 2012年

如果您确实按照标签所提示的那样运行Ubuntu 8.10,则应该了解Ubuntu 8.10太过时了。您确实应该尽快升级。该版本没有安全支持。
Zoredache

@Zoredache是​​的,我知道它已经很老了。但是我不是Ubuntu用户。我有CD并安装了它,仅用于我的任务!:D
samsamara 2012年

Answers:


11

您需要安装php5-cliphp5-cgi软件包。

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

正如Zoredache在评论中指出的那样。cli版本不处理标头,也不输出标头-它是一种干净的PHP解释器,完全不了解HTTP。

如果要使用上述版本,请使用CGI版本。


1
是的,我刚刚了解到我需要php-cli .. :)
samsamara 2012年

1
由于他正在编写Web服务器,因此他可能希望使用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 / bin / php
  • /usr/bin/php7.0
  • /usr/bin/php7.1

1

如果您正在编写自己的Web服务器,则几乎可以肯定要安装或构建PHP二进制文件的CGI版本,并且希望在Web服务器中实现CGI协议。CGI版本具有捕获GET / POST数据所需的功能。

看到:


我正在编写一个具有PHP和CGI支持的简单Web服务器。对于解析php文件,我要做的是'exec / usr / bin / php file.php'。您可以通过将CGI脚本解析为perl来运行它们。我对吗?可行?
samsamara 2012年

1
嗯,没有CGI与perl无关。您确实应该至少阅读Wikipedia文章。
Zoredache
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.