Nginx Symfony Konfigürasyonu ile Harici Php Dosyalarını Çalıştırma

By | 19 June 2017

Selam arkadaşlar, bu yazıda Nginx tarafında Symfony konfigürasyonumuzu yaptıktan sonra harici, 3.parti uygulamarı Symfony projemize dahil etmeyi göstereceğim. Öncelikle aşağıdaki gibi Symfony konfigürasyonumuzu düzenliyoruz.

server {
    server_name "[domain]";
    root "[root_dir]";
    
    location / {
        try_files $uri /app.php$is_args$args;
    }
  
    #PROD
    location ~ ^/app\.php(/|$) {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
        internal;
    }

    error_log /var/log/nginx/project_error.log;
    access_log /var/log/nginx/project_access.log;
}

Kendi Symfony projemde bana Kcfinder eklentisi lazım oldu. Bunun için Kcfinder php dosyalarını projeme dahil ettim ama yukarıdaki gibi Nginx konfigürasyonumuzda bu dosyalar çalıştırılmaz, statik dosyaymış gibi istemci bilgisayarına indirilir. Bunun önlemek için aşağıdaki satırları Nginx konfigürasyonumuza ekliyoruz. Bu şunu sağlıyor; kcfinder dizini altındaki tüm php dosyalarını php-fpm servisi çalıştırsın. Böylece php dosyaları çalıştırılarak, Kcfinder’ın diğer statik dosyaları da Nginx tarafından istemciye iletilmiş oluyor.

location ~ ^/assets/kcfinder/(.+\.php)$ {

include /etc/nginx/fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;

}

Leave a Reply

Your email address will not be published. Required fields are marked *

*