2018-09-03 21:26 阅读 477

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:, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://", 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
$which php-fpm

Does anyone have any ideas how I can resolve this?

Thanks in advance!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    doupai1876 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
    $ which php

    Thank you everyone for your time and suggestions :)

    点赞 评论 复制链接分享
  • doulian7252 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.

    点赞 评论 复制链接分享