-
ThinkPHP路由简单配置
ThinkPHP拥有丰富的路由配置功能,灵活的配置路由可以更好的优化URL结构,方便维护,下面简单介绍一下ThinkPHP路由配置方法。 ThinkPHP默认路由结构为/入口文件/应用/控制器/方法,因此就产生了这样一长串的URL结构: https://127.0.0.2/index.php/index/index/index 这还仅仅是首页URL,这样的结构显然不利于维护,更不利于SEO,所以需要做路由配置,以多应用为例,......
-
解决宝塔面板MySql服务占用过多CPU和内存
最近一周的时间网站总是动不动就打不开,不是网站本身的问题,而是整个服务器都无法访问了,重启服务器之后恢复正常,但过一段时间又无法访问。 在宝塔面板中看到CPU和内存占用负载都到了100%,我这台服务器目前就放了一个博客,显然这样的高负载是不正常的。在防火墙中看到有人尝试以SSH登录服务器的拦截记录,还在想谁闲得没事攻击我这个人博客。然后开始做各种安全防护设置,修改SSH端口,禁止root登录,安装Fail2ban防护软件,更换I......
-
ThinkPHP获取数据库类型和版本的方法
在开发后台功能时,可能会需要自动获取当前使用的数据库类型和版本的情况,下面就举个简单的例子实现自动获取当前项目使用的是MySQL还是SQLite数据库及使用的相应数据库版本的方法: // 数据库类型 $default = config('database.default'); $config = config('database.connections.' . $default); $db_type = strtolower(tri......
-
ThinkPHP多入口文件多应用设置方法
在使用ThinkPHP做项目开发时,为了让架构更清晰科学,提高安全和性能,方便维护,需要将多应用分配到各自对应的不同的入口文件上,而不是整个项目用一个入口文件。 此方法适用于ThinkPHP6/8,这是ThinkPHP默认的单应用结构: ├─app 应用目录 │ ├─controller 控制器目录 │ ├─model 模型目录 │ ├─view 视图目......
-
虚拟主机部署ThinkPHP项目设置public目录方法
ThinkPHP默认必须要设置public目录为运行目录才可以成功运行项目,但是如果使用的是虚拟主机无法设置运行目录怎么办?而最稳妥的方法是移动public目录到根目录并修正路径。 先看 TP8 原版 public/index.php <?php // +---------------------------------------------------------------------- // | ThinkPHP ......
-
解决 PHP 8.1 隐式类型转换导致缩略图生成错误
这几天解决了一个困扰已久的问题,我的博客系统在文章上传图片生成缩略图时,在本地测试环境没有任何问题,但在服务器环境中总是生成缩略图失败,报错:"Implicit conversion from float"。排查了 PHP 和环境扩展组件库、目录权限、图片格式大小等都没有问题。在百思不得其解时,我注意到了一个平时不太注意的细节,我在本地测试环境用的是 PHP 8.0,服务器上用的是 PHP 8.1,经过反复测试问题果然出在这里。 ......
-
ThinkPHP文件上传类FileSystem自定义生成年月日目录
FileSystem 是一个非常好用的文件上传扩展类,结合 Thinkphp 使用可以轻松的完成文件上传功能的开发。但是默认情况下 FileSystem 是按照“年月日”来生成上传日期目录的,长期使用下来就会有大量的“Ymd”目录,不方便管理,像我平时更新内容不多,如果以“Ym”的格式生成目录,按同一年同一月上传的文件放在一个日期目录中就方便管理多了。 需要......
-
ThinkPHP数据软删除及数据恢复功能
ThinkPHP的软删除不是真正删除数据库数据,而是通过标记字段(如delete_time)记录删除状态,查询时自动过滤delete_time字段已标记删除的数据,支持数据恢复和真实删除,相当于为项目加了一个回收站功能,以避免数据被误删。 软删除依赖模型操作,不支持原生查询,需要数据表有删除标记字段(默认delete_time,类型:datetime/timestamp,允许null),需要引入ThinkPHP内置的SoftDe......
-
PHP使用QR Code生成二维码实例
要在PHP中生成二维码,可以使用第三方库,其中一个流行的是PHP QR Code库。以下是一个简单的示例,演示如何使用PHP QR Code库生成二维码。 使用 Composer 安装 PHP QR Code: composer require chillerlan/php-qrcode PHP 生成二维码示例 <?php // 引入 Composer 的自动加载文件 require_once 'vendor/aut......
-
织梦DedeCMS收费5800元,大批建站公司将受影响
9月26日,国内知名开源建站程序织梦内容管理系统(DedeCMS)官宣新规:除个人非盈利用途外,所有商业使用均需购买商业授权,正式开启强制收费模式,引发建站行业广泛热议。 作为国内最早也是使用率最高的CMS之一,DedeCMS凭借简单易用,功能全面,模板插件丰富等优势,成为无数站长的入门首选,占据大量市场份额。不少个人站长依托其赚取行业第一桶金,众多建站公司也长期借助该程序承接企业建站业务。 但长期的免费使用,导致大多数商业......