ZF3 Nginx服务index.php作为下载文件

时间:2017-07-25 18:37:52

标签: php linux nginx debian zend-framework3

我使用nginx和php 7安装了debian 8,用于使用zendframework创建端点。当我关注网站时,我必须将这些添加到我在nginx中的虚拟主机配置中。就像我确实看到下面的代码:

server {
    listen 80;
    listen [::]:80;

    root /var/www/endpoint/html/public;

    server_name my_ip;

    location / {
          index index.php
          try_files $uri $uri/ @php;
    }

location @php {
        # Pass the PHP requests to FastCGI server (php-fpm) on 127.0.0.1:9000
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_param  SCRIPT_FILENAME /var/www/endpoint/html/public/index.php;
        include fastcgi_params;
    }}

但是当我访问网站时,它下载了index.php而不是执行index.php。

我希望有人能帮我解决这个问题。

2 个答案:

答案 0 :(得分:2)

我认为您需要将fastcgi_pass值替换为socket path而不是服务器地址和端口。

fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;

然后输入此命令重新启动php7-fpm

sudo systemctl restart php7-fpm

答案 1 :(得分:0)

谢谢@ Dolly-aswin,

它有效地将127.0.0.1替换为php-fpm袜子

location ~ \.php$ {
            #fastcgi_pass   127.0.0.1:9000;
            fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
            fastcgi_param  SCRIPT_FILENAME /var/www/endpoint/html/public/index.php;
            include fastcgi_params;
    }

我的ZendFramework 3正在使用Nginx(PHP 7)在Debian 8上工作。