首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

系列开篇

CodeIgniter 可以在 GitHub 上公开访问。请注意,尽管我们在保持代码的基础功能上做出了大量的努力,但是我们并不能为开发分支的代码中的功能作担保。...稳定版可以从 GitHub Releases 获取。 开发版可以从 开发分支 获取。 安装 CodeIgniter4 可以手动安装,或使用 Composer 安装。...为了最大程度地保证安全性,系统目录以及任何应用程序的目录都在网站根目录之上,这样就无法通过浏览器直接访问到它们。...如果你想公开你的视图,你可以将 views 目录移动到 application 目录之外,移动到 public 目录下的相应文件夹中。...在生产环境中所要做的一个额外操作是禁用 PHP 错误报告以及其它任何仅开发时所使用的功能。在 CodeIgniter 中,可以通过设置 ENVIRONMENT 常量来完成。

2.5K20

故障排除和本地开发服务器

如果在你尝试此操作后仍然无效,则需要强制CodeIgniter向你的网址添加问号。...; 该教程给出了404错误:( 你无法使用PHP的内置Web服务器来学习本教程。它不处理正确路由请求所需的`.htaccess`文件。 解决方案:使用Apache为你的站点提供服务。...本地开发服务器 PHP 提供了一个内置的可以在本地使用进行开发的 Web 服务器,免去了安装如 MAMP,XAMPP 等独立 Web 服务器的需要。...如果你在你的开发机器上安装了 PHP,你可以使用 serve 指令来启动 PHP 的内置服务器,完全安装并用于运行你的 CodeIgniter 应用程序。...https://www.php.net/manual/zh/features.commandline.webserver.php > php -S localhost:8000 这将启动服务器,并且你可以在浏览器中访问

3.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    概述-处理 HTTP 请求

    当浏览器请求页面时,它会询问服务器是否可以获取该页面。然后, 服务器准备页面并将响应发送回发送请求的浏览器。就是这样简单,也可以说复杂些,但基本就是这样。 HTTP 是用于描述该交换约定的术语。...开发 web 应用程序时, 你的目标只是了解浏览器的要求,并能够做出适当的响应。...HTTP 请求 当客户端(浏览器,手机软件等)尝试发送 HTTP 请求时,客户端会向服务器发出一条文本消息然后等待响应。...Wikipedia 上有一篇文章,列出了 所有的请求头字段 (译者注:国内用户如果无法访问的话, 可以查看 在MDN上的页面 )。...它可以告诉客户端响应成功(200),或者找不到页面(404)等等。 在 IANA 可以找到 完整的响应状态码列表 。

    1.9K10

    CI一些优秀实践

    最近准备接手改进一个别人用Codeigniter写的项目,虽然之前也有用过CI,但是是完全按着自己的意思写的,没按CI的一些套路。...在客户端你能够通过单独发送HTTP头部使浏览器缓存页面来提高性能,当你使用 AJAX 的时候你也需要了解它来禁止浏览器缓存。...CodeIgniter的工作过程 当有一个http请求时,如http://www.google.com/blog/,首先进入CI的引导文件index.php。...,记录日志的log_message,和引入错误页面的show_404是几个重要的函数;Compat主要解决了php4和php5中的函数不兼容问题,而constants则定义了一些读写文件权限的常量。...紧接着codeigniter载入了第一个类库,Benchmark,这个类库最简单的一个应用就是计算网页从开始到编译结束所花掉的时间,所以您在编译开始的地方打上一个标记,渲染结束后再打上一个标记,就可以算出其中花费的时间了

    3.4K50

    -控制器

    index” 方法总是在 URI 的 第二段 为空时被调用。...定义默认控制器 CodeIgniter 可以设置一个默认的控制器,当 URI 没有分段参数时加载,例如当用户直接访问你网站的首页时。...$params); } show_404(); } 私有方法 有时候你可能希望某些方法不能被公开访问,要实现这点,只要简单的将方法声明为 private 或 protected...$this->request->isSecure()) { $this->forceHTTPS(); } 默认情况下,在支持 HTTP 严格传输安全报头的现代浏览器中,此调用应强制浏览器将非...} 验证 $_POST 数据 控制器还提供了一个简单方便的方法来验证 $_POST 数据,将一组规则作为第一个参数进行验证,如果验证不通过,可以选择显示一组自定义错误消息。

    3.6K20

    前后端分离跨域问题

    一、背景 最近在弄毕业设计啦,采用CodeIgniter4+Vue3来做的,前后端分离项目,首先便是跨域问题。一顿搜索无果后,自己折腾了一个解决方案,希望能帮助到看到这篇文章的你。...二、跨域问题 由于浏览器的 同源策略 限制,使用前后端分离的模式下,前端和后端的域名一般都不是一样的,在我的项目中,前端是使用二级域名,而后端是使用三级域名,此时前后端就不同源了,就产生了跨域问题。...三级域名 CodeIgniter4 三、解决方法 1.问题 在前端往后端发送请求时,控制台会输出跨域报错,无法拿到数据。...使用 自定义请求头 时,前端(客户端浏览器)会先发出一个OPTIONS请求,来判断是否可用,如果这时候没有进行设置的话,同样也是无法完成跨域的。...php // 错误代码示例!!!!

    2.6K30

    -记录日志信息

    * **warning** - 出现了异常,但不是错误,例如使用了被废弃的API,某个API的调用异常,或其他不期望出现的,但不是错误的情况。...* **error** - 运行时错误,不需要立即被处理但通常需要被记录或者监控。 * **critical** - 危险情况,例如某个程序组件不可用,或出现未被捕获的异常等。...配置文件中的 threshold (报错阈值)决定了从哪个级别开始的事件将会在整个应用中记录下来。如果应用中有任何低于报错阈值的事件记录被记录时,这些请求将会被忽略。...现状而言,我们默认安装了两种调度器以供使用: 文件调度器 是默认的调度器,它将会每天在本地创建一个独立的日志文件,同时这也是较为被推荐的日志记录方式。...ChromeLogger 调度器 如果你在Chrome浏览器上安装了 ChromeLogger 扩展 ,你可以使用这种调度器将日志输出到Chrome的控制台窗口中。

    1.3K20

    Thinkphp框架的项目规划总结和踩坑经验

    5、建议配置URL伪静态后缀设为空(默认为html),以免在编程中生成带参数的URL时出现异常的情况。(框架BUG) 6、如果TP3.2.3,作数据库配置兼容处理(设计缺陷?)...i:\.php)$"> Deny from all 3)项目应用目录 所有的PHP访问应该都应该从入口文件进入,CSS/JS/图片等可以不必经过入口文件。.../$1 [QSA,PT,L] #404页重定向,框架外 ErrorDocument 404 /notfound.html #测试,指定浏览器 重定向URL (自动从www重定向到mobile)...,默认1,本地无配置域名 'SHOW_PAGE_TRACE'=>true, //开启页面Trace ); 九、手机浏览器自动从PC版跳转到移动版 参考我的这篇博文 Apache配置必配基础...如: htmlspecialchars(trim($data), ENT_QUOTES) 5)GET或POST中的参数名为m、c、a 时,都会出现路由错误,其URL模式为普通模式时这是可以理解的,但是其它的

    2.5K20

    Laradock 一个完整PHP的Docker本地开发环境

    介绍 Laradock 是为 PHP 提供的完整 Docker 本地开发环境,有助于在 Docker 上运行 PHP 应用程序,和 Homestead 一样提供了一系列打包好(包括配置)的 Docker...Laradock 早期专注为 Laravel 打造 Docker 开发环境,因而最早在 Laravel 社区中出名,后来随着影响力的扩大,逐渐被 PHP 社区接纳和采用,目前支持的 PHP 项目除了 Laravel...之外,还有 Symfony、CodeIgniter、WordPress、Drupal 等等。...易于定制,只需简单编辑 Dockerfile 即可 所有镜像均从官方基础镜像扩展而来,安全可靠 易于使用环境变量安装 / 删除容器中的软件 简洁、结构良好的 Dockerfiles(Dockerfile...打开 Laravel 项目的.env文件并添加如下配置: DB_HOST=mysql REDIS_HOST=redis QUEUE_HOST=beanstalkd 打开浏览器,访问 localhost

    22610

    H5的离线缓存技术

    这跟HTTP的缓存使用策略是不同的。 资源的缓存可以带来更好的用户体验,当用户使用自己的流量上网时,本地缓存不仅可以提高用户访问速度,而且大大节约用户的使用流量。...Manifest 的特点 离线浏览:即当网络断开时,可以继续访问你的页面。 访问速度快:将文件缓存到本地,不需每次都从网络上请求。...一般写版本号,用来在缓存的文件更新时,更改manifest:浏览器已经缓存下来的缓存,只有当manifest文件发生了改变才会更新本地缓存,即使你的代码发生了更新,本地浏览器也是不知道的,所以每次发布代码时你可以更改下...FALLBACK: /html5/ /404.html 下面的例子中,当任何页面无法访问时跳转到 "404.html"页。...FALLBACK: *.html /404.html 注意: 第1点必须在第一行,2、3、4直接的顺序是随意的,并且在同一个manifest文件中可以出现多次,多次和一次效果一样。

    54720

    【Spring】运行Spring Boot项目,请求响应流程分析以及404和500报错

    ,所以我们程序访问时的端口号也是 8080 4....web 资源:通过网络可以访问到的资源(通常指放在服务器上的数据) 127.0.0.1:8080/user/sayhi,就是向本地计算机中的 8080 端口程序,获取资源位置是 /user/sayhi...访问出错怎么办 404 404 表示用户访问的资源不存在,大概率是 URL 路径写的不正确 错误实例 1:URL 单词拼错 错误实例 2:注解写错 注释写错或者没写都会报错 @Controller public...通过 Fiddler 观察 http 请求 500 服务器出现内部错误,一般是服务器的代码执行过程中遇到了一些特殊情况(服务器异常崩溃),会产生这个状态码 错误实例: @RestController...的状态码表示服务器出现错误,往往需要观察页面提示的内容和 Tomcat 自身的日志,观察是否存在报错 出现连接失败往往意味着服务没有正确启动,也需要观察服务器的自身日志是否有错误提示 程序猿调试 BUG

    17810

    CI基础知识笔记

    output类中的_display_cache函数 post_system最终渲染页面发送到浏览器之后,浏览器接受完最终数据的系统执行末尾调用 10.公共函数 ci使用了一些全局定义的函数,在任何情况下都可以使用...第一个为系统默认的路由$route[‘default_controller’] = ‘welcome’; 第二个为404页面的路由$route[‘404_override’] = ”; 这个路由标识了如果请求的控制器无法访问的时候将加载哪个控制器...它相当于覆盖了默认的404错误页面(即提供了自己定义404页面的功能)。...但它不会影响show_404()这个方法,这个方法依然会加载默认的位于application/errors/error_404.php的error_404.php页面。...,如果同时加载多个辅助函数文件,且其中有名称相同的函数,会导致 CI 出现空白页问题(也就是 PHP 语法错误)。

    1.3K30

    初学Node.js并部署到好雨云

    网站的错误不经常发生,但当我们遇到的时候非常令人懊恼,比如当我们想要在线挂号的时候,遇到了这个: 为什么会出现这种情况,背后的服务器发生了什么?...部署到网上 我的服务器已经正常运行了,可是它只是跑在我的本地,如果想要让更多的人访问我的网站,我需要将它放到互联网上我们需要选择一个云平台来部署我们的网站。...接着我们需要为web服务器增加一些功能来处理不同的请求,send404是当请求到不存在的文件时,我们要如何处理: function send404(response) { response.writeHead... 浏览器中访问的样子: 首页代码中,我故意写了一个可以访问的正确链接和一个不可访问的错误链接,这样我可以试一下404返回内容...在我们本地的myblog项目目录中执行 # 初始化本地git仓库 git init # 添加远程仓库地址 git remote add goodrain http://code.goodrain.com

    95461

    Django篇(三)

    3、简述url的匹配过程: 比如浏览器中输入127.0.0.1:8000/aindex, 浏览去发送到项目的urls.py文件中进行匹配,如果我项目的url匹配是这样的: urlpatterns = [...urlpatterns = [ url(r'^index$', views.index), ] 从项目中匹配的a会过滤掉,就只剩下index发送到我们应用(student)下的urls.py中,...4、当我们浏览器访问一个不存在的页面会报错404,当我们模板有错误的时候会报错500, 并且都会提示哪里有错误,这在项目上线后是不允许的,怎么让他只显示404或者500,不会提示具体的错误信息?...如果你认为这个404页面不好看,或者500页面不好看,我们只需要在模板(Templates)下创建404.html 或者500.html,当找不到页面的时候,就会自动访问404.html,无需其他配置。...cookie的请求过程: 浏览器输入网址,发送给服务器请求,服务器进行处理,设置cookie信息,返回给浏览器set-cookie这个字段,浏览器保存到本地, 下次再次请求这个域名相关的网站,浏览器会将

    92650

    部署Vue项目到服务器后404错误

    一、Vue项目部署步骤 在前后端分离的开发模式下,前端项目独立部署通常涉及以下步骤: 构建项目:Vue项目构建后生成一系列静态文件。...上传文件:使用scp命令将构建好的文件上传至服务器的web容器指定静态目录。...nginx -t nginx -s reload 访问域名:在浏览器输入域名以访问部署的应用。 以上是最直接的一种部署方式。...二、404错误原因及解决方案 错误场景 问题描述:Vue项目在本地运行正常,但部署到服务器后刷新页面出现404错误。 错误定位:HTTP 404错误表示请求的资源不存在。...Hash模式无问题:Hash模式不会将hash值包含在HTTP请求中,因此不会因hash变化重新加载页面,避免了404错误。

    9710

    -利用配置文件开始工作

    来访问类中的配置项。...这一举措可以让我们将生产环境的服务器中的配置文件移动到一个不能通过Web访问的位置;而在开发环境中,将其放置在 /app 目录下以便访问。...针对不同的环境 由于我们的站点将会在不同的环境中运行,例如开发者的本地机器上,或是用于部署的远端服务器上,我们可以基于环境来修改配置信息。...当这种情况发生时,系统将没有办法获知这个变量所对应的确切的值。 我们可以通过将这些变量放入”命名空间“中,来放置这一情况的出现。 在配置文件中,点号(.)通常被用来表示一个变量是命名空间变量。...以数组的方式调用环境变量 从更长远的角度来看,一个命名空间环境变量也可以以数组的方式被调用。

    1.2K20

    加速你的网络应用

    平时我们希望提高应用的响应速度时,常用的有以下一些方法: 使用Gzip 减少Http Request次数 增加过期头信息 Expire Header 压缩CSS和Javascript文件 更多的方法...但是Codeigniter的gzip压缩选项打开后,view中输出时就不能再有 echo 语句,否则会发生如下的错误: Fatal error: ob_start() [ref.outcontrol]...我们的一个项目中,使用了HostMonster的虚拟主机,Google搜到了一些文档,据说可以在HostMonster的虚拟主机上配置打开Gzip的选项,多次试验也没成功,后来咨询了HostMonster...实际上对于浏览器来说,解析和执行这些文件是不要保留这些格式的,因此对JS和CSS文件进行一些压缩的处理就可以达到减少文件尺寸的目的。...4、设置过期的头信息 在Codeigniter中,可以通过调用 $this->output->set_header(); 来设置头信息。从而控制浏览器如何决定来处理已经被缓存的内容。

    4.4K20

    HTML5离线存储——manifest简介

    本文作者:IMWeb json 原文出处:IMWeb社区 未经同意,禁止转载 离线存储的作用 1、用户可离线访问应用,这对于无法随时保持联网状态的移动终端用户来说尤其重要 2、用户访问本地的缓存文件...(以及不缓存的内容),支持manifest的浏览器,会将按照manifest文件的规则,将文件保存在本地,从而在没有网络链接的情况下,也能访问页面。...:不缓存的文件,无论缓存中存在与否,均从新获取 NETWORK: uncached.js uncached.css # 注释:获取不到资源时的备选路径,如index.html访问失败,则返回404页面...5、FALLBACK可选,指定了一个后备页面,当资源无法访问时,浏览器会使用该页面。 更新缓存 ?...2、对于manifest文件进行缓存的时候需要十分小心,因为可能出现一种情况就是你对manifest文件进行了更新,但是http的缓存规则告诉浏览器本地缓存的manifest文件还没过期,这个情况下浏览器还是使用原来的

    2.2K20
    领券