php - 无法在 Ubuntu 上使用 phpbrew 启动 fpm

标签 php linux ubuntu nginx

我已经安装了 phpbrew 及其依赖项,但是我在使用所述命令测试 fpm 时遇到问题:

phpbrew switch 5.4.38
sudo phpbrew fpm start
Did you mean 'app'? [Y/n] n
Command fpm not found. available commands are: help, zsh, bash, meta, compile, archive, github:build-topics, app, init, known, install, list, use, switch, each, config, info, env, extension, variants, path, cd, download, clean, update, ctags, list-ini, self-update, remove, purge, off, switch-off
Command: command not found

显然我在某个地方出错了,但找不到它不启动的原因。我可以确认它在那里

cd ~/.phpbrew/php/php-5.4.38/sbin
ls
php-fpm

安装命令:

phpbrew install 5.4.38 +fpm +mysql;

信息:

版本 PHP-5.4.38

常数 PHP 前缀:/home/datamechanics/.phpbrew/php/php-5.4.38 PHP 二进制文件:/home/datamechanics/.phpbrew/php/php-5.4.38/bin/php PHP 默认包含路径:.: PHP 包含路径:.:

一般信息

phpinfo()
PHP Version => 5.4.38

System => Linux dmdell02 4.2.0-16-generic #19-Ubuntu SMP Thu Oct 8 15:35:06 UTC 2015 x86_64
Build Date => Mar 10 2016 15:29:28
Configure Command =>  './configure'  '--prefix=/home/datamechanics/.phpbrew/php/php-5.4.38' '--with-config-file-path=/home/datamechanics/.phpbrew/php/php-5.4.38/etc' '--with-config-file-scan-dir=/home/datamechanics/.phpbrew/php/php-5.4.38/var/db' '--disable-all' '--enable-phar' '--enable-session' '--enable-short-tags' '--enable-tokenizer' '--with-pcre-regex' '--with-zlib=/usr' '--with-libdir=lib/x86_64-linux-gnu' '--enable-fpm' '--with-mysql=mysqlnd' '--with-mysqli=mysqlnd' '--enable-dom' '--enable-libxml' '--enable-simplexml' '--enable-xml' '--enable-xmlreader' '--enable-xmlwriter' '--with-xsl' '--with-libxml-dir=/usr'
Server API => Command Line Interface
Virtual Directory Support => disabled
Configuration File (php.ini) Path => /home/datamechanics/.phpbrew/php/php-5.4.38/etc
Loaded Configuration File => /home/datamechanics/.phpbrew/php/php-5.4.38/etc/php.ini
Scan this dir for additional .ini files => /home/datamechanics/.phpbrew/php/php-5.4.38/var/db
Additional .ini files parsed => (none)
PHP API => 20100412
PHP Extension => 20100525
Zend Extension => 220100525
Zend Extension Build => API220100525,NTS
PHP Extension Build => API20100525,NTS
Debug Build => no
Thread Safety => disabled
Zend Signal Handling => disabled
Zend Memory Manager => enabled
Zend Multibyte Support => disabled
IPv6 Support => enabled
DTrace Support => disabled

Registered PHP Streams => compress.zlib, php, file, glob, data, http, ftp, phar
Registered Stream Socket Transports => tcp, udp, unix, udg
Registered Stream Filters => zlib.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

Extensions
Core, date, ereg, libxml, pcre, zlib, dom, SPL, session, standard, Reflection, mysqlnd, SimpleXML, Phar, mysqli, tokenizer, xml, xmlreader, xmlwriter, xsl, mysql

Database Extensions
mysqlnd
mysqli
mysql

最佳答案

如果您使用 sudo 安装了 phpbrewiteslf,那不会有帮助。 phpbrew 依赖 getPhpbrewHome无处不在的功能。

除非您使用 PHPBREW_HOME=/blah phpbrew ... 显式定义 PHPBREW_HOME,否则它将使用您的 HOME 环境变量来生成安装/执行路径。但是运行 sudo 会覆盖 HOME,除非你用 -E 告诉它保留环境: env |grep HOME => /home/vagrant, sudo env |grep HOME => HOME=/rootsudo -E env |grep HOME => HOME=/home/vagrant

换句话说,当您以普通用户身份运行它时,它会在 /home/datamechanics/.phpbrew/ 中搜索 php 二进制文件,在 /home/root/.phpbrew/ 中搜索 php 二进制文件>如果你用 sudo 运行它

您很可能有 3 个选项来解决您的问题:

  1. 使用 sudo 安装 php sudo phpbrew install 5.4.38 +fpm +mysql
  2. 使用当前用户运行 phpbrew fpm
  3. 在使用 sudo 运行 PHPBREW_HOME 时显式设置它 sudo PHPBREW_HOME=/home/datamechanics/.phpbrew phpbrew fpm start

关于php - 无法在 Ubuntu 上使用 phpbrew 启动 fpm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35921572/

相关文章:

postgresql - 如何从命令行为 Postgres 创建用户以实现 bash 自动化

linux - linux(ubuntu)上的mongod命令吐出随机消息

apache - activemq 未启动

Linux 密码过期与 Awk、shadow 和密码

c - 如何获得更详细的回溯

java - 如何确定文件是否正在被另一个进程使用(Java)

php - Mysql 和 PHP : searching in different mysql tables

javascript - Jquery 函数未触发 - onunload

php - lastInsertId 在第一条记录后没有返回值。我该如何检查呢?

php - 在搜索引擎上提交时如何删除 URL 参数