MAMP Pro开发环境中使用Nginx时 访问fastadmin后台提示模块不存在解决方案

释放双眼,带上耳机,听听看~!

前言

使用Mac进行php开发的时候 使用的最多的集成环境就是Mamp了,但是mamp 这个坑特别多 ,首先实际在使用的时候,如果有钱用mamp pro,mamp完全多余,没钱只能用mamp,而且新版的很不友好,只能开启和停止服务器,连切换php版本以及其他配置都需要手动修改,不太友好。

说说坑一:

mamp 和 mamp pro的配置文件是不一样的,注意,真的不一样,虽然使用同一个apache ,nginx 和mysql ,但是apache配置文件不一样。
mamp 的apache配置文件:/Applications/MAMP/conf/apache/
mamp pro 的apache配置文件:/Library/Application Support/appsolute/MAMP PRO/conf (有apache、nginx、php5、php7的配置文件)

在聊坑二:

对于mamp pro所有的组件配置,修改完apache配置完才发现,手动是无效的,只能从面板中修改配置。具体解释:面板中有一些apache的配置项,这些如果手动修改,抱歉,无效,保存重启服务器时,优先读取面板中的配置,所以手动只能修改其他面板中没有的配置(从File\Edit Templat\ 进行配置文件入口选择),对于这点 ,真是够够的。
MAMP Pro开发环境中使用Nginx时 访问fastadmin后台提示模块不存在解决方案

解决方案(正题)

在此处直接粘贴以下代码

!注意要根据版本的不同进行相应的修改
MAMP Pro开发环境中使用Nginx时 访问fastadmin后台提示模块不存在解决方案

#伪静态
location / {
    if (!-e $request_filename) {
        rewrite ^(.*)$ /index.php?s=/$1 last;
        break;
    }
}
#解决后台访问不了的问题
location ~ ^(.+\.php)(.*)$ {
        # try_files $uri =404;
        #fastcgi_pass unix:/dev/shm/php-cgi.sock; #注意:不同系统,路由不一样
        fastcgi_pass unix:/Applications/MAMP/Library/logs/fastcgi/nginxFastCGI_php7.2.22.sock; #注意:不同系统,路由不一样(留意当前使用的php版本)
        fastcgi_index index.php;

        include /Applications/MAMP/conf/nginx/fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(\/?.*)$;
        fastcgi_param PATH_INFO $fastcgi_path_info;

        # 强制将某些非法地址交给 index.php 处理
        set $new_fastcgi_script_name $fastcgi_script_name;
        if (!-e $document_root$fastcgi_script_name) {
            set $new_fastcgi_script_name "/index.php";
        }

        fastcgi_param SCRIPT_FILENAME $document_root$new_fastcgi_script_name;
        fastcgi_param SCRIPT_NAME $new_fastcgi_script_name;
    }
    #跨域问题处理
add_header 'Access-Control-Allow-Origin' '*' always; #允许来自所有的访问地址
add_header 'Access-Control-Allow-Credentials' 'true' always; #允许来自所有的访问地址
add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, token, platform' always;
add_header 'Access-Control-Allow-Methods' 'GET,POST,PUT,DELETE,HEAD,OPTIONS' always; #允许来自所有的访问地址

if ($request_method = OPTIONS ) {
    return 200;
}

给TA打赏
共{{data.count}}人
人已打赏
php笔记

通过Apache和Nginx解决跨域问题

2020-7-20 10:16:23

php笔记

macOS 上安装 PECL

2020-8-5 17:08:46

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索