mac nginx不支持php怎么办

藏色散人
发布: 2021-09-18 09:08:34
原创
2251人浏览过
mac nginx不支持php是因为没有配置PHP,其解决办法:1、使用homebrew安装nginx;2、给nginx设置管理员权限;3、执行命令“brew tap josegonzalez/homebrew-php”安装PHP即可。

mac nginx不支持php怎么办

本文操作环境:macOS10.15系统、PHP5.6版,MacBook Air 2019电脑

mac nginx不支持php怎么办?

Mac安装Nginx、配置PHP

之前都是使用Apache和PHP协同工作的

因为PHP是自学的,很多不理解的(TP都没怎么看,也没用)

最近想使用nginx和php一起写点东西

因为自己在电脑已经安装完成了,期间遇到了一些问题,趁着现在还有一点印象现在记录下来,如果以后使用nginx和php开发的时候可以参照一下

立即学习PHP免费学习笔记(深入)”;

1、在Linux上的时候使用yum安装软件,在Mac上的话看到一个homebrew

2、然后我们使用homebrew安装nginx

一条命令安装完成:

brew install nginx
登录后复制

然后我们配置一下权限

1》给nginx 设置管理员权限:如果不设置管理员权限,80端口是不能监听的

#这里的目录根据你实际安装的目录来填写,默认是这个目录,不同的只是nginx的版本号而已
sudo chown root:wheel /usr/local/Cellar/nginx/1.10.1/bin/nginx    
sudo chmod u+s /usr/local/Cellar/nginx/1.10.1/bin/nginx
登录后复制

2》加入launchctl启动控制

mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
登录后复制

3》运行nginx

sudo nginx #打开 nginx
nginx -s reload|reopen|stop|quit  #重新加载配置|重启|停止|退出 nginx
nginx -t   #测试配置是否有语法错误
登录后复制

3、安装PHP

因为brew 默认没有php的包,所以我们先执行下面的命令

brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
登录后复制

php有好多版本 我们可以使用 brew search php 查看

我的电脑上的就是php5.6,但是我又使用brew安装了一下,不会影响mac自带的,因为他会安装到/usr/local/Cellar的下面

brew install php56
登录后复制

安装完成之后,为了让系统能使用我刚刚安装的版本,需要配置一下

sudo vim ~/.bash_profile

#在这个文件最后添加下列语句:
export PATH="$(brew --prefix php56)/bin:$PATH"

#保存文件后,source下这个文件,使刚刚添加的环境变量生效
source ~/.bash_profile
登录后复制

完成之后,在终端中可以使用php -v查看版本,就是我刚刚安装的版本了

加入launchctl启动控制

灵办AI
灵办AI

免费一键快速抠图,支持下载高清图片

灵办AI 78
查看详情 灵办AI
mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/php56/homebrew.mxcl.php56.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist
登录后复制

php配置文件的路径如下

/usr/local/etc/php/5.6/php.ini
/usr/local/etc/php/5.6/php-fpm.conf
登录后复制

我当时这样完成之后就去直接使用php测试了

但是nginx服务是正常的,但是php就是不显示

原因就是太心急,nginx对于php的设置还没有做

nginx配置文件路径如下

/usr/local/etc/nginx/nginx.conf
登录后复制


打开之后找到下面这一块

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}
登录后复制

解除注释,重启nginx之后还是不行,找了一下原因,是因为【/scripts$fastcgi_script_name;】这一句应该是【$document_root$fastcgi_script_name;】

然后再重启nginx就可以访问php了

记得当我启动php-fpm的时候遇到了一些小问题,问题的内容都在终端中显示了

比如:【/private/etc/php-fpm.conf】这个文件不存,其实在同目录下有一个后缀为【.default】的文件,我们把这个拷贝一下改为php-fpm.conf就可以了

后边在执行的话,可能会出现error_log路径不对,默认的是在【/usr/var】下面出Log,但是路径找不到,有两个解决办法。

1》提示没有的文件夹,我们就创建

2》更改刚才的我们拷贝的那个php-fpm.conf文件,找到类似下面的地方

[global]
; Pid file
; Note: the default prefix is /usr/var
; Default Value: none
pid = /usr/local/var/php-fpm/run/php-fpm.pid

; Error log file
; If it's set to "syslog", log is sent to syslogd instead of being written
; in a local file.
; Note: the default prefix is /usr/var
; Default Value: log/php-fpm.log
error_log = /usr/local/var/php-fpm/log/php-fpm.log
登录后复制

pid和error_log之前都是注释的状态,我们将它改为自己方便的位置就可以啦

到现在没有什么其他特别问题的话,nginx和php就可以正常的工作了。

我们可以通过修改nginx.conf和hosts文件,配置自己的访问域名

推荐学习:《PHP视频教程

以上就是mac nginx不支持php怎么办的详细内容,更多请关注php中文网其它相关文章!

相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号