2016-07-03 3 views
2

Je suis nouveau à FuelPHP et au développement Web en général. J'essaie de rediriger un utilisateur vers un autre contrôleur, mais pour une raison quelconque, je ne peux pas afficher la page. La page d'accueil affiche bien et si je change la page d'accueil par défaut à la page Blog, il s'affiche très bien.FuelPHP avec le routage Nginx ne fonctionne pas

Voici le lien sur la page d'accueil: <?php echo Html::anchor('blog', 'BLOG'); ?>

Ensuite, je le contrôleur il pointe aussi:

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

Lorsque je clique sur le lien, il me faut pour « mywebsite.com/blog » mais il dit "Accès refusé".

Voici mon nginx hôte virtuel:

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; 
} 
} 

Je ne sais pas si j'ai pas configuré correctement ou FuelPHP il est Nginx. Toute aide serait très appréciée, merci.

+0

vous avez tout nier dans vos fichiers php. – ytsejam

+0

Enlever cela n'a rien changé –

+0

vérifier les autorisations et modifier quelque chose comme ceci: https://github.com/rajibmp/FuelPHP-Nginx/blob/master/nginx/sites-available/FuelPHP – ytsejam

Répondre

2

J'ai réussi à le faire fonctionner. Je posterai la réponse au cas où quelqu'un d'autre se heurterait à ce problème. Pour plus de clarté, il s'agit d'un serveur Ubuntu 16.04 exécutant Nginx 1.10.0 et php7.0-fpm essayant de configurer pour un projet Fuelphp.

utilisant cette page de ytsejam comme guide https://github.com/rajibmp/FuelPHP-Nginx/blob/master/nginx/sites-available/FuelPHP

j'ai changé quelques petites choses à adapter ma situation:

  • Réglez le nom_serveur sur mon serveur

  • Définissez le dossier racine le dossier public de mon projet fuelphp

  • Je me suis débarrassé de fastcgi_param SCRIPT_NAME $script et fastcgi_param PATH_INFO $path_info car ils m'ont donné des erreurs se plaignant de variables non déclarées.

  • les fichiers journaux d'accès et d'erreur sont /var/www/fuelphp/nginxlogs pour moi

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

  • listen 80 ne sais pas pourquoi il dit réglez-le sur le port 57

Je suivais les conseils donnés ici sur la configuration supplémentaire pour php7.0-fpm: How to find my php-fpm.sock?

Je pense que c'était tout. Merci pour votre aide ytsejam!