我已经安装了 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=/root
,sudo -E env |grep HOME
=> HOME=/home/vagrant
。
换句话说,当您以普通用户身份运行它时,它会在 /home/datamechanics/.phpbrew/
中搜索 php 二进制文件,在 /home/root/.phpbrew/
中搜索 php 二进制文件>如果你用 sudo 运行它
您很可能有 3 个选项来解决您的问题:
- 使用 sudo 安装 php
sudo phpbrew install 5.4.38 +fpm +mysql
- 使用当前用户运行
phpbrew fpm
- 在使用 sudo 运行 PHPBREW_HOME 时显式设置它
sudo PHPBREW_HOME=/home/datamechanics/.phpbrew phpbrew fpm start
关于php - 无法在 Ubuntu 上使用 phpbrew 启动 fpm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35921572/