php -v и php-fpm -v показывают разные версии php - PullRequest
0 голосов
/ 04 сентября 2018

Я боролся с этим всю ночь и не могу найти ответ, который это исправит!

Я на Mac и использую homebrew для установки php и nginx, я запустил следующее, которое показывается как успешное

brew install php
brew install nginx

пока проблем нет, и я могу запустить обе службы

brew services start nginx
brew services start nginx

когда я запускаю список служб brew, я получаю следующее

nginx started me /Users/me/Library/LaunchAgents/homebrew.mxcl.nginx.plist
php   started me /Users/me/Library/LaunchAgents/homebrew.mxcl.php.plist

однако при попытке запустить сайт Wordpress в журнале nginx появляется следующая ошибка

[error] 26099#0: *1 kevent() reported that connect() failed (61: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost:8080"

Я погуглил проблему, и кажется, что это обычно проблема с nginx, передающим запрос в php-fpm, я проверил пользователя, который запускает каждый сервис, чтобы убедиться, что они совпадают, я сделал это как и я, и оба рута безрезультатно. Когда я проверяю «список услуг brew», он показывает php оранжевым, что, как я понимаю, означает, что он действительно потерпел неудачу.

Я копнул немного дальше, и, кажется, что если я запускаю 'php -v', я получаю

PHP 7.2.9 (cli) (built: Aug 23 2018 02:08:27) ( NTS )

но если я запускаю 'php-fpm -v', я получаю:

PHP 7.1.16 (fpm-fcgi) (built: Mar 31 2018 03:00:16)

Я полагаю, что это вызывает у меня проблему, я нашел ее в Google, но не нашел никаких окончательных решений.

Вот еще одна странность:

$which php
/usr/local/bin/php
$which php-fpm
/usr/sbin/php-fpm

У кого-нибудь есть идеи, как мне это решить?

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Хорошо, теперь у меня есть php -v и php-fpm -v, возвращающие одинаковое значение php, и я сделал это, запустив brew doctor, который велел мне запустить echo 'export PATH="/usr/local/sbin/:$PATH"'

так что теперь, когда у меня запущены те же версии, и я могу подтвердить, что php-fpm работает без сбоев, используя lsof -i | grep php-fpm У меня нормальные проблемы, когда люди устанавливают php и nginx на своих книгах Mac! Так что я могу спокойно отдохнуть сегодня вечером, зная, что я немного ближе к своей цели!

У меня также теперь есть следующее

$ which php-fpm
/usr/local/sbin/php-fpm
$ which php
/usr/local/bin/php

Спасибо всем за ваше время и предложения :)

0 голосов
/ 04 сентября 2018

Для меня после установки php у меня есть следующая архитектура (не с brew), но, возможно, это все равно поможет ...

ls /etc/php/
5.6  7.0  7.1  7.2

и у меня есть следующие доступные команды, если я наберу php и tab:

php            php-config     php-config7.2  php-fpm7.2     php7.2         phpdismod      phpenmod       phpize         phpize7.2      phpquery

У меня есть служба, работающая специально для php-fpm7.2, как показано здесь:

sudo service php7.2-fpm status
 * php-fpm7.2 is running
root@xxx:~# sudo service php5.6-fpm status
php5.6-fpm: unrecognized service
root@xxx:~# sudo service php7.1-fpm status
php7.1-fpm: unrecognized service

Тот факт, что вы получаете другую версию с php, заключается в том, что это версия php, которая запускается в командной строке - и она имеет другие настройки, чем те, которые будут происходить, когда вы используете fpm (передаваемый из nginx). Я не думаю, что CLI php имеет много общего с вашими версиями fpm. Вполне возможно, что репозитории brew для php обновлены только до версии fpm 7.16. Я думаю, что я могу установить свой PHP из ppa, но не могу вспомнить с ног на голову.

...