今天在部署一个ThinkPHP5开发的网站时,把网站根目录指向到public目录下,结果运行后产生以下错误 Warning: require(): open_basedir restriction in effect. File(/www/wwwroot/xxx/thinkphp/start.php) is not within
把一个Thinkphp5开发的网站发布到客户的服务器上,结果除首页以外全部404,看了一下,客户的服务器是宝塔面板环境+nginx,那肯定是没开启pathinfo,其实在nginx上开始pathinfo很简单,但是
由于TP5.1取消了Loader和vendor, 我们使用extend加载不带命名空间的第三方类,具体如下。 1、下载phpqrcode.php,重命名为QRcode.php。 2、把QRcode.php放到\extend\phpqrcode\目录下,完整路径为\extend
在应用开发中,经常会遇到一些带有提示信息的跳转页面,例如操作成功或者操作错误页面,并且自动跳转到另外一个目标页面。ThinkPHP5的\think\Controller类内置了两个跳转方法success和
ThinkPHP5.0.1版本开始增加了扩展配置目录的概念,在应用配置目录或者模块配置目录下面增加extra子目录,下面的配置文件都会自动加载,无需任何配置。 这极大的方便了我们进行扩展配
一、安装PHPExcel composer require phpoffice/phpexcel 二、页面引入 use PHPExcel_IOFactory;use PHPExcel; 三、使用实例 导出示例: public function export($data){ //$data参数是要循环输出的数据数组 $filename = ic
ThinkPHP5中访问静态文件如图片等会提示:模块不存在,如下图: 出现该问题因为tp做了一个区分,如果能访问到图片,就直接是一个资源链接,是一个resource,但是因为某些原因这张图
ThinkPHP5提示variable type error: array是因为在ThinkPHP5中不允许直接访问控制器时,通过return方法直接返回数组。 出现这个错误时,使用json函数处理以下返回的数据即可,如: $data = [...];
ThinkPHP5提示:Cannot declare class because the name is already in use,如图: 错误原因是在php中的同一个页面上,命名空间不同的两个类名一样就会混淆,在ThinkPHP5中一般是模型类和控制器类名称
Thinkphp5官方手册中详细介绍了在模板中调用内置函数的方式,但是却没有说明怎么在模板中调用自定义函数,下面介绍一下在Thinkphp5的模板中调用自定义函数的方法: 1.首先在common.ph
在thinkphp3中,where方法传入数组非常强大,可以组合任何形式的复杂查询条件,示例如下: $where[name] = array(like, %www.02405.com%);$where[title] = array(like,%www.02405.com%);$where[_logic] = or;$map[_comple
ThinkPHP5最新版本默认开启了时间戳自动转换功能,会将时间戳自动转换为2018-08-30 16:20:49这种时间格式。但是使用这个功能时,我们经常会遇见A non well formed numeric value encountered错误。 解
ThinkPHP5输出最后执行的sql语句方法: $sql = db(user)-getLastSql();//DB类 User::getLastSql();//模型
在使用ThinkPHP5的时候有些数据没必要专门的创建数据库保存,比如网站名称、备案号等信息,那么我们可以通过创建自定义配置文件的方式解决,具体方法如下: 1.创建extra自定义配置
在TP5中有两个嵌套的volist循环,采用的是关联数组,怎样在循环内部分别获取外层volist的Key和内层volist的key值? 解决方法:采用tp5中的ASSIGN标签即可,ASSIGN标签用于在模板文件中定义变
在thinkphp5中使用mysql find_in_set语法时,可以使用EXP(表达式查询)来实现,具体代码如下: $data = Db::table(students)-where(exp,FIND_IN_SET(1,sids))-select(); 如果用数组条件查询形式的话,那么像下
在thinkphp5模型的查询中,一般有两种方式:数组方式和闭包方式,相对于数组方式只能定义查询条件,闭包方式可以支持更多的连贯操作,包括排序、数量限制等。 那么我们在使用闭包
在thinkphp5中,使用post方式接收数组参数会出现错误提示:variable type error:array 出现错误代码如下: $ids = $request-post(ids); 解决方法一:使用变量修饰符,具体代码如下: $ids = $request-p
最近在用thinkphp5开发的时候有个获取客户端ip的需求,可能是thinkphp3用的多了,没多想直接写了个$ip=get_client_ip(),结果很自然的就报错了呗。 经过查看手册发现thinkphp5已经取消了这个函
最近把一个thinkphp5开发的网站上传到服务器后发现中文乱码,只要出现中文乱码那就肯定是编码错误,然而检查发现thinkphp5默认是采用utf8编码的,模板文件和程序文件的编码也都是ut