当前位置: 首页 > news >正文

雷林鹏分享:让nginx支持CodeIgniter框架

  在nginx环境下默认是不支持codeigniter框架的,如果需要在nginx环境下运行codeigniter框架,需要对系统环境做些修改。

  修改方法:

  1、修改CI项目配置文件,修改 uri_protocol 为 path_info

  $config['uri_protocol'] = 'PATH_INFO';

  2、修改nginx配置文件,在SERVER段中添加以下代码:

  location /index.php{

  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;

  }

  上述代码是针对入口文件为 index.php 的项目。

  如果有多个项目需要根据入口文件添加相应项目配置,如:有前、后台2个项目,入口文件分别为index.php、admin.php,这时需要添加:

  location /index.php{

  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;

  }

  location /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;

  }

  正常情况下,我们只需要修改以上2步就可以在nginx环境下正常运行codeigniter框架了。

  但有时我们发现运行项目的过程中出现 No input file specified 的错误,原因是因为php没有开启对pathinfo的支持,只需要修改相应PHP配置项就可以了。

  把:

  cgi.fix_pathinfo=0

  改为:

  cgi.fix_pathinfo=1

  重启nginx,即可。(编辑:雷林鹏 来源:网络 侵删)

转载于:https://www.cnblogs.com/linpeng1/p/10861809.html

相关文章:

  • 看看这些大龄程序员都做了些什么
  • 配置mysql允许远程连接的方法
  • 杂记 -春风十里不如你
  • 用户访问网页的流程原理
  • 重复枚举和不重复枚举
  • c++初级(本人scdn)
  • hibernate5.3版本出现hibernate中The server time zone value“乱码”问题的解决办法。
  • linux测试某进程占用oi、cpu、内存的使用情况
  • 实验一 VLAN的创建
  • java版b2b2c社交电商spring cloud分布式微服务(十)高可用的服务注册中心
  • 如何真正学习好C语言
  • 6. 包机制
  • Android系统编译时集成三方APK
  • Sublime Text 快捷键(Windows)
  • 能冒泡的事件
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • ➹使用webpack配置多页面应用(MPA)
  • 11111111
  • Invalidate和postInvalidate的区别
  • js面向对象
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • Redis中的lru算法实现
  • spark本地环境的搭建到运行第一个spark程序
  • Vue2.0 实现互斥
  • Web Storage相关
  • yii2权限控制rbac之rule详细讲解
  • 关于Flux,Vuex,Redux的思考
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 推荐一个React的管理后台框架
  • 我有几个粽子,和一个故事
  • 栈实现走出迷宫(C++)
  • 转载:[译] 内容加速黑科技趣谈
  • Hibernate主键生成策略及选择
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ![CDATA[ ]] 是什么东东
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (+4)2.2UML建模图
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (Note)C++中的继承方式
  • (Python第六天)文件处理
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • .net core 6 集成和使用 mongodb
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • // an array of int
  • @Autowired多个相同类型bean装配问题
  • [ActionScript][AS3]小小笔记
  • [AIGC] Spring Interceptor 拦截器详解
  • [ai笔记9] openAI Sora技术文档引用文献汇总