我整夜都在苦苦挣扎,找不到解决问题的答案!
我在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
有人对我如何解决这个问题有任何想法吗?
提前谢谢!
答案 0 :(得分:2)
好吧,我现在同时获得了php -v
和php-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)
ls /etc/php/
5.6 7.0 7.1 7.2
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的,但我想不起来了。