How do I configure nginx and CodeIgniter? How do I configure nginx and CodeIgniter? codeigniter codeigniter

How do I configure nginx and CodeIgniter?


Actually I got this working. Not sure how, but I think it was file permissions being set incorrectly or something.

Edit:For those who are wondering, I had an older version of PHP installed it seems. Reverting back to old class constructors fixed the issue. Darnit.


I have exactly the same problem (Codeigniter gives blank pages and the error pages and php are working) and i found that the problem was from the mysql db driver which should be changed to mysqli driver .

So just we need to change the db driver in config/database.php

$db['default']['dbdriver'] = 'mysqli';

And this is due that the mysql driver is deprecated in the new versions of php.


CodeIgniter4 How To Setup NGINX Server Blocks (Virtual Hosts) on RasperyPi Debian 10.4

I am using a RasperyPi-4 as web developing server with different projects running on it.Visual Studio Code enables editing files via Remote-SSH extension very easily.Setting up CI4 on NGINX gives you the opportunity to run different projects on the same server.Because it took me some days to get this configuration running I will give you a quick reference guide to setup quick and easy.If you have not installed NGINX and composer yet please have a look here:http://nginx.org/en/docs/beginners_guide.html

https://codeigniter4.github.io/userguide/installation/installing_composer.html

https://getcomposer.org/download/

  1. CodeIgniter4 installation via composer

server ip: 10.0.0.10port: 8085project name is 'test'Please modify to your needs!

cd /var/www/htmlcomposer create-project codeigniter4/appstarter test

the command above will create a 'test' folder /var/www/html/test

  1. Modify the 'env' file

sudo nano /var/www/html/test/envapp.baseURL = 'http://10.0.0.10:8085'

Important: Do NOT use 'localhost' for the server URL!!!!!

please uncomment:# CI_ENVIRONMENT = productionand modify:CI_ENVIRONMENT = development

Save the file as '.env' to hide the file

  1. NGINX Server Blocks

cd /etc/nginx/sites-availabletouch testsudo nano test

Paste this into the file and save after modifying to your requirements:

server {    listen 8085;    listen [::]:8085;    server_name test;    root  /var/www/html/test/public;    index index.php index.html index.htm;    location / {        try_files $uri $uri/ /index.php$is_args$args;    }    location ~ \.php$ {        include snippets/fastcgi-php.conf;        # With php-fpm:        fastcgi_pass unix:/run/php/php7.4-fpm.sock;        # With php-cgi:        # fastcgi_pass 127.0.0.1:9000;    }    error_page 404 /index.php;    # deny access to hidden files such as .htaccess    location ~ /\. {        deny all;    }}

After saving the file create a symbolic link to sites-enabled:

cd /etc/nginx/sites-enabledsudo ln -s /etc/nginx/sites-available/test  /etc/nginx/sites-enabled/test
  1. Modify File and Group Permissions

chown -v -R pi:www-data /var/www/html/testsudo chmod -v -R 775 /var/www/html/test
  1. Start NGINX

sudo service nginx start
  1. Open CI4 Welcome Page

 http://10.0.0.10:8085