ZF3 Nginx Serve index.php作为下载文件
我安装了带有nginx和php7的debian 8,用于使用zendframework创建端点。当我关注这个网站时,我必须将它们添加到nginx中的虚拟主机配置中。就像我看到下面的代码一样:ZF3 Nginx Serve index.php作为下载文件,php,linux,nginx,debian,zend-framework3,Php,Linux,Nginx,Debian,Zend Framework3,我安装了带有nginx和php7的debian 8,用于使用zendframework创建端点。当我关注这个网站时,我必须将它们添加到nginx中的虚拟主机配置中。就像我看到下面的代码一样: server { listen 80; listen [::]:80; root /var/www/endpoint/html/public; server_name my_ip; location / { index index.php
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
我希望任何人都能帮助我解决这个问题。我认为您需要将
fastcgi\u pass
值替换为socket path
,而不是服务器地址和端口
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
然后通过键入此命令重新启动php7 fpm
sudo systemctl restart php7-fpm
谢谢@Dolly aswin
Thx它成功地将127.0.0.1替换为php fpm sock
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(PHP7)处理Debian 8。
位置内的索引
进行内部重定向。@Deadooshka你能告诉我应该如何解决这个问题吗?这是来自原始github的信息,我不确定您是否需要那里的索引
,因为我看不到.php
@Deadooshka dunno的正确位置。但是当我不在[at]php中使用zf配置时,它就正常工作了。我认为这个配置的逻辑很糟糕,因为如果客户机请求真实的php文件,那么它本身就会得到一个php脚本。您至少需要默认的php处理程序location\.php${}
噢,对不起。我忘了调整PHP7。我会编辑我的答案,你能接受吗?@DollyAswin thx再次感谢大家的大力支持。如果到今天为止还没有修复,我就必须再次安装apache:)。