dongyue934001
2018-09-03 21:26
浏览 579
已采纳

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

I've been struggling with this all night and can't find an answer that fixes it!

I'm on a mac and using homebrew to install php and nginx, I ran the following which show as successful

brew install php
brew install nginx

no problems so far and I can start both services

brew services start nginx
brew services start nginx

when I run brew services list I get the following

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

however when trying to run a Wordpress site I get the following error in my nginx log

[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"

I have googled the problem and it seems that it's normally a problem with nginx passing a request to php-fpm, I have checked the user that is running each service to make sure they match, I have done it as both me and both root to no avail. When I check "brew services list" it shows php in orange which I understand to mean it has actually failed.

I dug a bit further and it seems that if I run 'php -v' I get

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

but if I run 'php-fpm -v' I get:

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

I believe this is causing me a problem, I have googled it but haven't got any definitive fixes.

Here is another oddity with it:

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

Does anyone have any ideas how I can resolve this?

Thanks in advance!

图片转代码服务由CSDN问答提供 功能建议

我一整晚都在苦苦挣扎,无法找到解决问题的答案!

我在Mac上并使用自制软件来安装php和nginx,我运行以下显示为成功的

  brew install  php 
brew install nginx 
   
 
 

到目前为止没有任何问题我可以启动这两项服务

  brew services start nginx  
brew服务启动nginx 
   
 
 

当我运行brew服务列表时,我得到以下内容

  nginx启动我/  Users / me / Library / LaunchAgents / homebrew.mxcl.nginx.plist 
php启动了我/Users/me/Library/LaunchAgents/homebrew.mxcl.php.plist
  
 
  
 
 
  [error] 26099#0:* 1 kevent()报告connect() 连接到上游时失败(61:连接拒绝),客户端:127.0.0.1,服务器:localhost,请求:“GET / HTTP / 1.1”,上游:“fastcgi://127.0.0.1:9000”,主机:“localhost  :8080“
   
 
 

我用Google搜索了问题,似乎这通常是一个问题 使用nginx向php-fpm发送请求的em,我已经检查了运行每个服务的用户以确保它们匹配,我已经完成了它,因为我和两个root都无济于事。 当我检查“brew services list”时 它显示了橙色的PHP,我理解这意味着它实际上已经失败了。

我进一步挖了一下似乎如果我运行'php -v'我得到

  PHP 7.2.9(cli  )(建于:2018年8月23日02:08:27)(NTS)
   
 
 

但如果我运行'php-fpm -v'我得到:

  PHP 7.1.16(fpm-fcgi)(内置:2018年3月31日03:00:16)
   
 
 

I 相信这会给我带来一个问题,我用谷歌搜索了它,但没有得到任何确定的修复。

这是另一个奇怪之处:<​​/ p>

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

有没有人有任何想法如何解决这个问题?

提前致谢!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • doupai1876 2018-09-04 22:26
    已采纳

    Okay I've now got both php -v and php-fpm -v returning the same value of php and i did it by running brew doctor which told me to run echo 'export PATH="/usr/local/sbin/:$PATH"'

    so now that I have the same versions running and can confirm that php-fpm is running without failing using lsof -i | grep php-fpm I'm on to normal problems that people have installing php and nginx on their mac books! So I can rest easy tonight knowing that I am slightly closer to my goal!

    I also now have the following

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

    Thank you everyone for your time and suggestions :)

    点赞 打赏 评论
  • doulian7252 2018-09-03 21:41

    For me, I have the following architecture after installing php (not with brew) but perhaps this will help anyway...

    ls /etc/php/
    5.6  7.0  7.1  7.2
    

    and I have the following commands available if I type php and tab:

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

    I have a service running specifically for php-fpm7.2 as seen here:

    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
    

    The fact you are getting a different version with php is because that is the version of php that runs in the command line - and it has different settings than what will happen when you use fpm (passed through from nginx). I don't think the CLI php has much to do with your fpm versions. It could be that brew's repositories for php are only up to date for fpm 7.16.. I think I might be installing my PHP from a ppa but I cannot recall off the top of my head.

    点赞 打赏 评论

相关推荐 更多相似问题