502运行其他php文件时运行默认laravel应用程序时网关错误

前端之家收集整理的这篇文章主要介绍了502运行其他php文件时运行默认laravel应用程序时网关错误 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试安装laravel(尝试5和4),但是不断出现502错误的网关错误.

在网上搜索会得出一些有关unix-socket错误权限的答案.但是我使用完全相同的参数为其他域设置PHP功能与您期望的一样.

这是通过全新安装框架之后的设置/配置

/data/$laravel new myapp

Nginx配置:

server {
    listen 80;

    root /data/myapp/public/;
    index index.PHP index.html index.htm;

    server_name example.net;

    location / {
            try_files $uri $uri/ index.PHP?$query_string;
    }

    location ~ \.PHP${
            try_files $uri /index.PHP =404;
            fastcgi_split_path_info ^(.+\.PHP)(/.+)$;
            fastcgi_pass unix:/var/run/PHP5-fpm.sock;
            fastcgi_index index.PHP;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
    }

}

ls -ahl /var/run/PHP5-fpm.sock

srw-rw---- 1 www-data www-data 0 Nov  4 10:05 /var/run/PHP5-fpm.sock

在www.conf中(PHP部分的配置)

 listen = /var/run/PHP5-fpm.sock
 listen.owner = www-data
 listen.group = www-data

如前所述,该配置在完全相同的设置下也可以正常工作.更改为服务器指令的唯一内容是server_name和root.

这怎么可能?

最佳答案
显然,Zend的OPCache正在进行某些操作.如果您在PHP.ini中将其禁用,就像这样

opcache.enable=0

该应用突然生效.

为什么?我不知道,这困扰着我.但是现在它可以了.如果有人知道其背后的原因:我会接受您的回答,而不是我的回答.

猜你在找的Nginx相关文章