php - Linux:为 Monkey 服务器设置 PHP FastCGI

标签 php linux embedded webserver fastcgi

我正在尝试在我的 Linux 设备上安装 PHP,该设备已经安装了 Monkey Server,但我没有安装 Apache。我希望能够使用 FastCGI。我已经根据 these 下载并安装了 PHP7和 these说明并确保文件设置正确;对于第二个链接,我没有安装开头列出的所有软件包,但大多数都已经安装了。我遇到的问题是当我执行 /etc/init.d/php-fpm start 时我得到了从尝试运行的脚本生成的错误列表 /sbin/php-fpm ,报错如下:

  1. 启动 php-fpm
  2. /sbin/php-fpm: 第 1 行:[Unit]: command not found
  3. /sbin/php-fpm: 第 2 行:PHP:找不到命令
  4. /sbin/php-fpm:第 3 行:network.target:找不到命令
  5. /sbin/php-fpm:第 5 行:[服务]:找不到命令
  6. /sbin/php-fpm:第 8 行:--nodaemonize:找不到命令
  7. /sbin/php-fpm:第 9 行:-USR2:找不到命令
  8. /sbin/php-fpm:第 11 行:[安装]:
  9. 找不到命令......................................失败

/sbin/php-fpm文件如下:

[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
Type=@php_fpm_systemd@
PIDFile=@localstatedir@/run/php-fpm.pid
ExecStart=@sbindir@/php-fpm --nodaemonize --fpm-config @sysconfdir@/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

最后,我在 Yocto 构建的 Linux 上运行,所以我没有 sudo apt-get install <package> 的奢侈。 .上面的第二个超链接我无法完成涉及命令的说明 insservsystemctl因为这两个命令不存在。 感谢任何帮助,我只想在用于嵌入式 Linux 的轻量级服务器上使用 FastCGI。如果有更好的选择,我愿意接受,但 Apache 太大了。

编辑:

我相信现在我的问题可能是因为我没有 systemd在我的 Linux 发行版上,这就是为什么它不处理 [Unit] 之类的项目的原因.有人可以对此发表评论吗?我不熟悉 systemd .

最佳答案

默认 Yocto 构建不使用 systemd 作为 init。对于轻量级服务器,我确实推荐了 lighttpd 服务器,它支持 FastCGI。使用 Yocto,您应该构建 php 和 lighttpd,然后将生成的 php-cgi 和 lighttpd-module-fastcgi ipk 传输到模块。 php 和 lighttpd 可以包含在图像中,方法是

IMAGE_INSTALL_append = " php lighttpd"

在您的 local.conf 文件中。您在帖子中引用的链接对 Yocto 没有用。

关于php - Linux:为 Monkey 服务器设置 PHP FastCGI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38215008/

相关文章:

php - 如何使用变量对 URL 进行 URLENCODE?

php - 给每个循环 30 秒的执行时间

javascript - 有人尝试在嵌入式环境中运行node.js 或原始v8 引擎吗?

c - sscanf 目标地址溢出

c - 在 C 中伪造寄存器读取

php - 如何避免在 codeigniter Controller 函数上调用多个模型?

php - Google 翻译 API 中的问题

linux - 在命令行中 sftp 两个文件

c++ - 为什么从/dev/random 读取几乎总是阻塞?

java - 如何通过控制台在 Linux 中启动 Java 服务器?