先看看下面的代码:
<?php session_start(); $_SESSION['username']='lucy'; ?>
当我们请求访问上面的脚本,默认会在我们的客户端生成一个名为PHPSESSID的cookie,我这里的值是PHPSESSID=e447hc9kpn6h44i58aj2931cu2;
我们去服务器端查看session文件保存的位置发现已经创建一个名为sess_e447hc9kpn6h44i58aj2931cu2的session文件;
打开sess_e447hc9kpn6h44i58aj2931cu2这个session文件看到其中的内容是:username|s:4:"lucy";
通过以上我们可以看到session是依赖于cookie的,服务器端是根据http请求头中PHPSESSID来找到对应的session文件进行处理的,那么是不是cookie禁用后session就无法使用了,事实上cookie禁用session依然可以用,只需要开启php.ini中的session.use_trans_sid = 1配置即可
<?php //对比$this和self /* * $this更倾向于对象本身 * */ class Par{ public  ...
(1).前端文件:<form action="upload.php" method="post" enctype="multipart/form-data"> &...
ThinkPHP中有一个debug调试功能,能输出报错文件的信息,并能看到这个函数被哪些函数调用,从框架的启动开始记录,特别方便调试。于是研究了下它的底层给予了实现。<?php //--框架核心--Start //框架内置错误处理 function errDealWith($er...
<?php /** * @throws Exception */ function curl() { throw new \Exception('err...
有时候我们需要爬一个接口,但是这个接口需要很多参数,包括header和cookie要去编写,使用php curl模拟实在太慢。我们可以通过浏览器的network来复制请求为curl命令。例如我需要模拟请求接口地址:https://www.xkmz.cc/Ajax/Debug/delly,我们只需要在...
PHP简单定时器可以通过pcntl_signal创建闹钟信号来实现。但是缺点很明显,性能一般,要自己实现守护进程,不支持毫秒级定时器,单进程不支持多个闹钟信号,不能跨平台运行event扩展支持的事件多,性能高。<?php //创建event配置.[空配置] $eventConfig ...