【问题标题】:FuelPHP with Nginx routing not working带有 Nginx 路由的 FuelPHP 不起作用
【发布时间】:2016-11-05 05:01:30
【问题描述】:

我是 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”,但它显示“访问被拒绝”。

这是我的 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。任何帮助将不胜感激,谢谢。

【问题讨论】:

  • 你已经拒绝了你的 php 文件。
  • 删除并没有改变任何东西
  • 检查权限并修改如下内容:github.com/rajibmp/FuelPHP-Nginx/blob/master/nginx/…
  • 不走运,这只会给我一个 502 Bad Gateway 错误。也试图解决这个问题,但无法解决
  • 502 如果我使用错误的 fastcgi_pass 127.0.0.1:9000; 会给我这个错误,你可以使用你的 unix 套接字吗?

标签: php nginx fuelphp


【解决方案1】:

我设法让它工作。如果其他人遇到这个问题,我会发布答案。 澄清一下,这是在运行 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 2015-03-30
    相关资源
    最近更新 更多