PHP Application redirection cycle PHP Application redirection cycle codeigniter codeigniter

PHP Application redirection cycle


your config of nginx, part for fastcgi

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000#location ~ \.php$ {        fastcgi_split_path_info       ^(.+\.php)(.*)$;        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;        fastcgi_param PATH_INFO       $fastcgi_path_info;        fastcgi_pass unix:/var/run/php5-fpm.sock;        fastcgi_param SCRIPT_NAME $fastcgi_script_name;        fastcgi_index index.php;        include fastcgi_params;        fastcgi_read_timeout 120;}

Your config tries to proxy php to unix socket, not to the 9000 port.

Should be fastcgi_pass unix:/var/run/php5-fpm.sock; changed to fastcgi_pass 127.0.0.1:9000

Next. Try to watch php-fpm config, there you should find listening port.

And finally - if you are using docker - be sure, that all docker hosts are accessible from each other

UPD 1: Seems it can be also problem with .htaccess - there are can be saved apache rules for specific host, for example - redirecting. PHP-FPM doesn't read that file and ignore it.

UPD 2: .htaccess can be found in PHP web root folder (where your index.php is located)


So, finally the problem was the default.conf.

Using this question as guide to configure it i finally made it: Nginx doesn't server subfolder api application (php-fpm)

So my /etc/nginx/sites-enabled/default.conf end like this:

server {    listen   80; ## listen for ipv4; this line is default and implied    listen   [::]:80 default ipv6only=on; ## listen for ipv6    root /usr/share/nginx/html;    index index.php index.html index.htm;    # Make site accessible from http://localhost/    #server_name localhost;    # Disable sendfile as per https://docs.vagrantup.com/v2/synced-folders/virtualbox.html    sendfile off;    # Add stdout logging    error_log /dev/stdout info;    access_log /dev/stdout;    location / {            # First attempt to serve request as file, then            # as directory, then fall back to index.html            index index.php;            try_files $uri $uri/ /index.php?$query_string;    }    location /sistema/ {            index /server/index.php;            try_files $uri /server/index.php/$uri;    }    #error_page 404 /404.html;    # redirect server error pages to the static page /50x.html    #    error_page 500 502 503 504 /50x.html;    location = /50x.html {            root /usr/share/nginx/html;    }    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000    #    location ~ \.php {            fastcgi_split_path_info ^(.+?\.php)(/.*)$;            fastcgi_pass unix:/var/run/php5-fpm.sock;            include fastcgi_params;            fastcgi_param PATH_INFO $fastcgi_path_info;            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;            fastcgi_read_timeout 120;    }    location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {            expires           5d;    }    # deny access to . files, for security    #    location ~ /\. {            log_not_found off;            deny all;    }

Im not very sure how this really works, so, its how i make it work but if anyone can explain this to me, i will be very grateful.