symfony2 cant access app_dev.php from distant host – cấu hình nginx (php fpm) trên centos để chạy symfony2

Sau khi tải symfony2 về từ http://symfony.com/, hoặc dùng composer để cài đặt như hướng dẫn trên trang của symfony2, về cơ bản các bạn đã có thể bắt tay vào “đép” ngay.

Một số bạn dùng nginx, php-fpm trên centos thì cấu hình có thể hơi khác hơn như sau

server {

server_name symfony2.local;

root /usr/share/nginx/html; # cái này tùy thuộc vào nơi bạn để sourcecode

index app_dev.php; #development thì nên để app_dev.php, production thì chỉnh lại app.php

try_files $uri $uri/ /app_dev.php?$query_string;

location ~ ^/(app_dev|app_test.php|app)\.php(/|$) {

include /etc/nginx/fastcgi_params;

fastcgi_pass 127.0.0.1:9000;

fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;

}

}

Các bạn lưu nội dung trên vào file /etc/nginx/conf.d/symfony.conf, sau đó restart lại nginx

Các bạn truy cập theo địa chỉ symfony2.local/http://localhost/symfony/web/app_dev.php –> TADA nếu suốn sẻ nó sẽ hiển thị ra hình thế này

symfony2-welcome

Trong trường hợp bị lỗi Cant access app_dev.php from distant host khi bạn môi trường dev của bạn đặt ở máy ảo, bạn access từ máy host thì nó sẽ bị lỗi trên. Để fix lỗi này chỉ cần vào chỉnh file app_dev.php comment dòng sau

//if (isset($_SERVER[‘HTTP_CLIENT_IP’])

// || isset($_SERVER[‘HTTP_X_FORWARDED_FOR’])

// || !in_array(@$_SERVER[‘REMOTE_ADDR’], array(‘127.0.0.1’, ‘fe80::1’, ‘::1’))

//) {

// header(‘HTTP/1.0 403 Forbidden’);

// exit(‘You are not allowed to access this file. Check ‘.basename(__FILE__).’ for more information.’);

//}

Xong, rựa là bạn có thể bắt tay dzo đép rồi đó ;))

Refs:

1. http://ihaveabackup.net/2012/11/17/nginx-configuration-for-symfony2/

2. http://symfony.com/doc/current/cookbook/configuration/web_server_configuration.html

3. http://forum.symfony-project.org/viewtopic.php?f=23&t=41866