PHP-FPM在macOS上使用Nginx发送空响应

我在macOS 10.12.4上安装了nginx 1.10.3和php 5.5.38作为开发服务器

当我在浏览器中尝试测试php文件时,正文为空,但响应标题似乎正常:

HTTP / 1.1 200好的
服务器:nginx / 1.10.3
日期:2017年3月29日星期三,格林威治标准时间11:35:21
内容类型:text / html
转移编码:分块
连接:保持活力
X-Powered-By:PHP / 5.5.38

php-fpm.log或nginx / error.log中没有错误

我的nginx.conf有:

server {
    listen       80;
    server_name  wordpress.bob;
    root /Users/mark/Sites/wordpress;     

    include /usr/local/etc/nginx/global_restrictions.conf;
    include /usr/local/etc/nginx/wordpress.conf;

    location ~ \.php${
      try_files $uri =404;
      fastcgi_split_path_info ^(.+\.php)(/.+)$;
      fastcgi_pass   unix:/usr/local/var/run/php-www.sock;
      fastcgi_index  index.php;
      include        fastcgi_params;
    }

}

wordpress.bob是一个本地主机名,用于测试指向etc / hosts中的127.0.0.1

php-fpm.conf有:

listen = '/usr/local/var/run/php-www.sock'

我有什么想法我做错了吗?

解决方法:

没有能力读取所有配置文件很难帮助.

你刚刚发布了一个,而不是包含的,也没有php-fpm.conf.这不是不赞成的(配置文件的墙在问题中不太合适)但是只是要指出我们“看不到”的配置文件可能因安装而异.

无论如何,我看到我在wordpress网站的服务器上的配置文件有一些差异.

这里有一些提示,考虑到你没有得到任何错误php-fpm正在运行,nginx可以通过套接字与它“通信”(否则你会得到一个糟糕的网关错误).

一开始……

server {
    listen       80;
    server_name  wordpress.bob;
    root /Users/mark/Sites/wordpress;     

    index index.php; # <-- ADD THIS

确保你在wordpress.conf中包含

location / {
        try_files $uri $uri/ /index.php?$args;
}

最后一部分……

location ~ \.php${
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 256 16k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 512k;
    fastcgi_intercept_errors on;
    fastcgi_max_temp_file_size 0;
    fastcgi_connect_timeout 3s;
    fastcgi_send_timeout 5s;
    fastcgi_read_timeout 5s;
    include fastcgi.conf; # <--- fastcgi.conf, NOT fastcgi_params
    fastcgi_pass /usr/local/var/run/php-www.sock;
}

fastcgi.conf和fastcgi_params(在我的安装上)之间的区别只有一行:

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

如果缺少这一行,PHP代码无法读取$_SERVER [‘SCRIPT_FILENAME’]和(我认为)这可能会破坏wordpress代码导致空输出.

最后确保php-fpm工作进程有权访问/usr/local/var/run/php-www.sock

通常套接字具有相同的所有者:工作者组.

worker用户和组在php-fpm.conf中设置:

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = ......
group = ......

原文地址:https://codeday.me/bug/20190519/1133585.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


最近做自动化测试时,深感自己对前端涉猎太少,加上对这块比较感兴趣,想花点时间在这个上面——不料在搭建vue环境时就遭遇了第一次翻车。在执行$brewinstallvue时,一直卡顿在了UpdatingHomebrew......命令行上。排除了网络因素后,终于在网上找到了解决方案。首先要
homebrew本身就是一个git仓库。使用homebrew安装软件包时,会自动先下载软件包,然后解压安装,但有时候下载会卡住,或者很慢,这个时候有以下几种方法:1.临时的终止update,先control+c,停掉当前update,安装继续2.更改更好用的git远程仓库替换homebrew默认源cd"$(brew--repo)"gitremote
一、Homebrew安装、卸载等命令Homebrew的安装和卸载都非常简单,只需要在终端输入相应的命令即可成功安装或卸载。1、Homebrew 安装命令/usr/binuby -e "$(curl -fsSL https:/aw.githubusercontent.com/Homebrew/install/master/install)"2、Homebrew卸载命令/us
在mac系统中,使用homebrew可以很方便的管理包。按照官网的说明执行以下命令时总是报错: /usr/binuby-e"$(curl-fsSLhttps:/aw.githubusercontent.com/Homebrew/install/master/install)"应该是这个资源访问有问题,那么我们可以尝试使用国内的镜像。给大家推荐一个中国科学技
我按照说明从这里使用brew安装mysqlhttps://gist.github.comrollr/3f57fc15ded7dddddcc4e82fe137b58ebrew服务列表显示以下输出NameStatusUserPlistmysqlstarted<username>/Users/<username>/Library/LaunchAgents/homebrew.mxcl.mysql.plist但是当我运行
我在macOS10.12.4上安装了nginx1.10.3和php5.5.38作为开发服务器当我在浏览器中尝试测试php文件时,正文为空,但响应标题似乎正常:HTTP/1.1200好的服务器:nginx/1.10.3日期:2017年3月29日星期三,格林威治标准时间11:35:21内容类型:text/html转移编码:分块连接:保持活力X-Powe
我想启用我的php-gmp,我不想使用macports因为我使用自制软件.首先,我brewinstallgmp我得到了gmp5.0.1然后我下载了PHP源码5.3.6,然后我去了source/ext/gmp我做到了phpize然后MACOSX_DEPLOYMENT_TARGET=10.6CFLAGS=’-O3-fno-common-archi386-arch
我今天在做一名酿酒医生时得到了这个通知:Warning:"config"scriptsexistoutsideyoursystemorHomebrewdirectories.`./configure`scriptsoftenlookfor*-configscriptstodetermineifsoftwarepackagesareinstalled,andwhatadditionalflagstousewhenco
一、前言1、写在前面:homebrew是一个包管理器,用于安装写在各种软件。2、开发brew的开发者面试google因为没能手写一道关于二叉树的题目而被刷。 二、brew常用命令1、brewupdate:更新brew。2、brewsearch软件名:根据软件名进行搜索。3、brewinstall软件名:根据软件名进行安
我用brew安装了PHP7,它说:Thephp.inifilecanbefoundin:/usr/local/etc/php/7.0/php.ini但我没有看到任何东西.所以我用php-fpm-i确认了它:ConfigurationFile(php.ini)Path=>/usr/local/etc/php/7.0LoadedConfigurationFile=>(none)Scanthisdirforad
我有一个使用Numpy的Python3.2系统,但我让Homebrew升级到Python3.3,所以我必须再次安装所有软件包.对于使用thisverylargeoutput的pip3installnumpy,这个失败了.你能建议解决吗?或者,如何恢复旧的工作安装?解决方法:我在Python3.3下成功安装了Numpy而没有pip:gitclonehtt
我想跑brewinstallelasticsearch我一直收到这个错误elasticsearch:Java1.7+isrequiredtoinstallthisformula.YoucaninstallwithHomebrewCask:brewinstallCaskroom/cask/javaYoucandownloadfrom:http://www.oracle.comechnetwork/java/javase
尝试在OSXMavericks上升级php时遇到问题.我有一个以前运行的本机版本的PHP,并尝试通过brew升级.当我尝试运行brew命令时,我得到以下内容..首先,我检查文档:brewdoctorYoursystemisreadytobrew.一切似乎都很好,但后来我跑了:brewupdateerror:Yourlocalchangestot
我已经使用brew安装了opencv3,但在执行importcv2时遇到了importError>>>importcv2Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>ImportError:dlopen(/usr/local/lib/python2.7/site-packages/cv2.so,2):Librarynotloa
最近要给客户定制一个php的论坛,我本来是python控,所以机器上就没有php的运行环境,于是开始折腾,本来在centos上配置nginx+php-fpm挺简单的,直接一路yuminstall就可以了,这下到mac上就有点麻烦,虽然macports上有php,但是如果安装php-fpm的话需要hack的方法,为了不麻烦,爬文
刚刚完成了Laravelsite上列出的所有步骤,安装并运行MacOSHighSierra.我目前安装了Composer,Homebrew,valet,PHP7.2.8,MySQL8.0.11和Laravel5.6.28.我可以通过执行Laravel新博客命令来创建一个新项目,而不会有任何问题.此外,当我访问我的浏览器时,我可以看到我刚刚创建或正在处
在国内的网络环境下使用Homebrew安装软件的过程中,可能会长时间卡在UpdatingHomebrew...方法一:按command+c取消本次更新操作,直接安装软件方法二:设置国内镜像1.替换brew.git仓库地址#阿里巴巴的brew.git仓库地址:cd"$(brew--repo)"gitremoteset-urlori
2019独角兽企业重金招聘Python工程师标准>>>一、Homebrew是什么Homebrew是一款MacOS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。援引官方的一句话
这个问题在此之前已经被问过(404errorwhenusingbrewtoinstallmysql),但不幸的是这个修复对我不起作用.我已经运行了brew更新,所以我是最新的.我正在使用最新版本的MacOS10.12,如果重要的话,我正在运行Xcode8.brewinstallmysqlWarning:YouareusingOSX10.12
我需要在OSX上安装python3.4.尝试使用brewinstallpython3,现在我有python3.5.1.但我需要py3.4.如何在Mac上安装python3.4?解决方法:我已经用两种方式完成了这种事情–但是两者都没有与自制软件共存,尽管我怀疑应该有类似于macports的方式.第一种是使用Macports作为包管理器