我正在尝试在我的 Linux 设备上安装 PHP,该设备已经安装了 Monkey Server,但我没有安装 Apache。我希望能够使用 FastCGI。我已经根据 these 下载并安装了 PHP7和 these说明并确保文件设置正确;对于第二个链接,我没有安装开头列出的所有软件包,但大多数都已经安装了。我遇到的问题是当我执行 /etc/init.d/php-fpm start
时我得到了从尝试运行的脚本生成的错误列表
/sbin/php-fpm
,报错如下:
- 启动 php-fpm
- /sbin/php-fpm: 第 1 行:[Unit]: command not found
- /sbin/php-fpm: 第 2 行:PHP:找不到命令
- /sbin/php-fpm:第 3 行:network.target:找不到命令
- /sbin/php-fpm:第 5 行:[服务]:找不到命令
- /sbin/php-fpm:第 8 行:--nodaemonize:找不到命令
- /sbin/php-fpm:第 9 行:-USR2:找不到命令
- /sbin/php-fpm:第 11 行:[安装]:
- 找不到命令......................................失败
/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>
的奢侈。 .上面的第二个超链接我无法完成涉及命令的说明 insserv
和 systemctl
因为这两个命令不存在。
感谢任何帮助,我只想在用于嵌入式 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/