无法在Ubuntu上使用phpbrew启动fpm

时间:2016-03-10 16:07:16

标签: 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-38年4月5日

常量 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

2 个答案:

答案 0 :(得分:2)

如果您使用sudo安装了phpbrew iteslf,那将无济于事。 phpbrew在任何地方依赖getPhpbrewHome函数。

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

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

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

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

答案 1 :(得分:0)

完成所有尝试将OSX用作开发服务器。

现在使用PHPStorm和纯VirtualBox Ubuntu服务器安装。个人PHPStorm及其功能的价格是惊人的。社区支持也。

尝试过Vagrant但它的废话以及它提供DNS和端口转发的事实并不是远程主机的正确表示 - 我们希望尽可能在建模服务器上进行测试还是真实?

因此,答案是查看Windows和OSX无法提供行业Web服务器配置,并安装以Linux作为服务器的虚拟机。

我现在使用PHPStorm在VM的共享目录上进行编辑,使用Chrome中的Zero Configuration工具bookmarklet来调试PHP。

这在OSX笔记本电脑上变成了一个完美的开发设置(我的主要目标),但可以在所有GIT基础上使用。

很高兴提供提示,但我认为这个问题得到了解答。