Невозможно запустить fpm с помощью phpbrew в Ubuntu

1

Я установил 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 Binary: /home/datamechanics/.phpbrew/php/php-5.4.38/bin/php PHP По умолчанию Включить путь:.: PHP Include дорожка:.:

Главная информация

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
  • 0
    Это может быть потому, что sudo меняет вашу среду PATH. Вы пытались запустить его с помощью sudo -E ?
  • 0
    Спасибо ES - не могли бы вы уточнить это далее, поскольку это указывает на то, что может быть ответом, выполняя команды phpbrew просто так, как будто пользователь работает нормально (за исключением 9000 при использовании, но это просто конфигурация). Я установил как sudo, так почему эта проблема?
Показать ещё 2 комментария
Теги:
nginx

2 ответа

0
Лучший ответ

Выполнено все это, пытаясь использовать OSX как dev-сервер.

Теперь используйте установку PHPStorm и чистый сервер VirtualBox Ubuntu. Цена на персональный PHPStorm и его возможности потрясающая. Поддержка сообщества.

Пробовал бродягу, но его дерьмо и тот факт, что он вводит DNS и переадресация портов не является надлежащим представлением удаленного хоста - мы хотим как можно больше протестировать на смоделированных серверах или реальных?

Поэтому ответом является просмотр как Windows, так и OSX, неспособных предоставить конфигурацию промышленного веб-сервера, и установку виртуальной машины с Linux в качестве сервера.

Теперь я редактирую с помощью PHPStorm в общедоступном каталоге с помощью VM, используя закладки Notes Zero Configuration в Chrome для отладки PHP.

Это превратилось в идеальную конфигурацию dev на борту ноутбука OSX (моя главная цель), но можно использовать где угодно, как на всех GIT.

Рад предоставить подсказки, но рассмотрел этот вопрос, который мне ответил.

2

Если вы установили phpbrew iteslf, используя sudo, который не поможет. phpbrew полагается на функцию getPhpbrewHome всюду.

Если вы явно не определяете PHPBREW_HOME с PHPBREW_HOME=/blah phpbrew... он будет использовать вашу переменную среды HOME для создания путей установки/выполнения. Но запуск sudo переопределяет HOME, если вы не укажете ему, чтобы сохранить среду с помощью -E: env |grep HOME => /home/vagrant, sudo env |grep HOME => HOME=/root, sudo -E env |grep HOME => HOME=/home/vagrant.

Другими словами, он ищет бинарные файлы php в /home/datamechanics/.phpbrew/ когда вы запускаете его как обычный пользователь и в /home/root/.phpbrew/ если вы запустите его с помощью sudo

Скорее всего, у вас есть 3 варианта решения вашей проблемы:

  1. установить php с помощью sudo sudo phpbrew install 5.4.38 +fpm +mysql
  2. запустить phpbrew fpm с вашим текущим пользователем
  3. явным образом устанавливаю PHPBREW_HOME во время работы с sudo sudo PHPBREW_HOME=/home/datamechanics/.phpbrew phpbrew fpm start
  • 0
    Я уже начал свой маршрут 1. Можете ли вы посоветовать, какой из этих ответов лучше всего использовать с nginx, установленным с помощью sudo - вот контрольный список, который я собираю, чтобы я мог повторить его в будущем docs.google.com/spreadsheets/d/…
  • 0
    @ tim-higham, это зависит от того, чего ты пытаешься достичь. Если вам нужно несколько версий php для разных пользователей (например, некоторые из них имеют устаревший проект, который требует более старой версии), то вам нужно использовать второй подход. Если вы устанавливаете версию, которой нет в пакетах вашего дистрибутива, но хорошо, если у каждого пользователя будет одна и та же версия, это другой случай, и вы должны выбрать 1-й путь. Третий довольно специфичен, и я не могу назвать типичный вариант его использования.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню