繁体   English   中英

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

[英]php -v and php-fpm -v show different versions of php

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

我在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的问题,我已经检查了正在运行每个服务的用户以确保它们匹配,因为我和我都以root身份进行了此操作徒劳无功。 当我检查“ 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

有谁知道如何解决这个问题?

提前致谢!

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

因此,现在我正在运行相同的版本,并且可以在不使用lsof -i | grep php-fpm失败的情况下确认php-fpm正在运行lsof -i | grep php-fpm lsof -i | grep php-fpm我正在解决人们在Mac图书上安装php和nginx的正常问题! 因此,今晚我知道自己离目标稍近,可以安心休息了!

我现在还有以下内容

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

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

对我来说,在安装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的,但我想不起来了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM