我使用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。
我希望有人能帮我解决这个问题。
答案 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上工作。