Cómo hacer que nginx sea compatible con el marco ci de php
Al desarrollar un proyecto a través del marco ci en Nginx, descubrí que el marco ci no se puede ejecutar en nginx. Después de buscar información relevante en Internet, puedo implementar nginx para admitir el marco ci de PHP modificando el. configuración relevante.
1. Modifique el archivo de configuración del marco ci
Modifique el valor de $config['uri_protocol']
Cámbielo a:
$config ['uri_protocol']?=?'PATH_INFO';
2. Modifique el archivo de configuración de nginx y agregue el siguiente código en la sección SERVIDOR:
ubicación?/ index.php{ p>
fastcgi_pass?unix:/tmp/php-cgi.sock;
fastcgi_param?SCRIPT_FILENAME?/home/wwwroot/index.php;
fastcgi_param?PATH_INFO?$ fastcgi_path_info;
fastcgi_split_path_info?^(.\.php)(.*)$;
fastcgi_param?PATH_TRANSLATED?$document_root$fastcgi_path_info;
include?fcgi .conf;
}
Si hay varias aplicaciones, como aplicaciones en segundo plano, puede agregar más de una sección de código y modificar el archivo de entrada correspondiente :
ubicación? /admin.php{
fastcgi_pass?unix:/tmp/php-cgi.sock;
fastcgi_param?SCRIPT_FILENAME?/home/wwwroot /admin.php;
fastcgi_param?PATH_INFO?$fastcgi_path_info;
fastcgi_split_path_info?^(. \.php)(.*)$;
fastcgi_param? PATH_TRANSLATED?$document_root$fastcgi_path_info;
include?fcgi.conf;
}