php -v和php-fpm -v显示了不同版本的php

时间:2018-09-03 21:26:16

标签: php macos nginx homebrew

我整夜都在苦苦挣扎,找不到解决问题的答案!

我在Mac上并使用自制软件安装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 services list”时,它以橙色显示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 :(得分:2)

好吧,我现在同时获得了php -vphp-fpm -v返回相同的php值,我通过运行brew doctor做到了这一点,它告诉我运行echo 'export PATH="/usr/local/sbin/:$PATH"' < / p>

因此,现在我正在运行相同的版本,并且可以确认php-fpm在运行而不会失败使用lsof -i | grep php-fpm。我要解决人们在Mac图书上安装了php和nginx的正常问题!这样一来,我就可以在今晚安枕无忧,因为我知道自己已经接近目标了!

我现在还拥有以下

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

谢谢大家的时间和建议:)

答案 1 :(得分:1)

对我来说,在安装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的最新信息。我想我可能是从ppa安装PHP的,但我想不起来了。

相关问题