我对 FuelPHP 和 Web 开发总体来说是新手。我正在尝试将用户重定向到不同的 Controller ,但由于某种原因我无法显示页面。主页显示正常,如果我将默认主页更改为博客页面,它显示正常。
这是主页上的链接:
<?php echo Html::anchor('blog', 'BLOG'); ?>
然后我也有它指向的 Controller :
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。任何帮助将不胜感激,谢谢。
最佳答案
我设法让它工作。如果其他人遇到这个问题,我会发布答案。 为了澄清这一点,这是在运行 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项目的公共(public)文件夹
我摆脱了
fastcgi_param SCRIPT_NAME $script
和fastcgi_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 !
关于php - FuelPHP 与 Nginx 路由无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38168173/