【发布时间】:2019-02-08 21:34:56
【问题描述】:
我整晚都在为此苦苦挣扎,找不到解决问题的答案!
我在 Mac 上使用自制软件安装 php 和 nginx,我运行以下显示成功
brew install php
brew install nginx
到目前为止没有问题,我可以启动两个服务
brew services start nginx
brew services start nginx
当我运行 brew services list 时,我得到以下信息
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)
我相信这给我带来了问题,我已经用谷歌搜索了它,但没有得到任何明确的修复。
这是另一个奇怪的地方:
$which php
/usr/local/bin/php
$which php-fpm
/usr/sbin/php-fpm
有没有人知道如何解决这个问题?
提前致谢!
【问题讨论】:
-
有什么理由需要在 mac os 上安装它吗?这是为了本地发展吗?为什么不使用 docker?
-
仅供参考,
/usr/local/bin是 homebrew 安装的,而/usr/sbin/php-fm是 Apple 随 macOS 提供的。 -
也许在文档根目录中创建一个调用
phpinfo()的PHP 页面,看看nginx如何查看您的PHP 设置。 -
@amurell 请停止要求人们使用 docker。这个问题是完全合法的,完全一样,关于它的上下文你没有什么可讨论的。
-
感谢到目前为止的所有帮助@amurrell 我还不想使用 docker,因为我不太了解它,也不喜欢一次学习很多东西!我发现 homebrew 在哪里安装 php-fpm
/usr/local/Cellar/php/7.2.9_2/sbin/php-fpm所以我想我现在的问题是如何将 php-fpm 命令绑定到这个位置而不是标准位置?