使用Nginx路由的FuelPHP无法正常工作

时间:2016-07-03 08:35:33

标签: php nginx fuelphp

我是FuelPHP和Web开发的新手。我试图将用户重定向到另一个控制器但由于某种原因我无法显示该页面。主页显示正常,如果我将默认主页更改为博客页面,则显示正常。

以下是主页上的链接:     <?php echo Html::anchor('blog', 'BLOG'); ?>

然后我也指出了控制器:

class Controller_Blog extends Controller_Template {
public function action_index() {
return Response::forge(View::forge('blog/index', $views,false)->render());
}

当我点击链接时,我会转到mywebsite.com/blog'但它表示&#34;访问被拒绝。&#34;

这是我的nginx虚拟主机:

server {
listen 80;
server_name mywebsite.com
index index.php index.html index.html

root /home/me/fuelphp_project/public;

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

location ~ \.php$ {
 deny all;
}

location @php_index {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param FUEL_ENV "production";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

我不确定我是否还没有正确设置FuelPHP或它的Nginx。非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:2)

我设法让它发挥作用。我会发布答案以防其他人出现这个问题。 为了澄清这一点,这是在运行Nginx 1.10.0和php7.0-fpm的Ubuntu 16.04服务器上尝试设置Fuelphp项目。

使用ytsejam中的此页面作为指南https://github.com/rajibmp/FuelPHP-Nginx/blob/master/nginx/sites-available/FuelPHP

我改变了一些东西以适应我的情况:

  • 将server_name设置为我的服务器

  • 将根文件夹设置为我的fuelphp项目的公共文件夹

  • 我摆脱了fastcgi_param SCRIPT_NAME $scriptfastcgi_param PATH_INFO $path_info因为他们错误地抱怨未申报的变量。

  • 访问和错误日​​志文件位于/var/www/fuelphp/nginxlogs对我来说

  • 设置fastcgi_pass unix:/run/php/php7.0-fpm.sock

  • listen 80不确定为什么要将其设置为端口57

然后我按照这里给出的提示进一步设置php7.0-fpm:How to find my php-fpm.sock?

我认为这就是一切。感谢您的帮助ytsejam