dongyue934001 2018-09-03 21:26
浏览 733

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 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 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.




  • ¥15 C++代码报错问题,c++20协程
  • ¥15 c++图Djikstra算法求最短路径
  • ¥15 Linux操作系统中的,管道通信问题
  • ¥15 ansible tower 卡住
  • ¥15 等间距平面螺旋天线方程式
  • ¥15 通过链接访问,显示514或不是私密连接
  • ¥100 系统自动弹窗,键盘一接上就会
  • ¥50 股票交易系统设计(sql语言)
  • ¥15 调制识别中这几个数据集的文献分别是什么?
  • ¥15 使用c语言对日志文件处理