首页
4K壁纸
直播
统计分析
友情链接
搜索
1
#1031 – TABLE STORAGE ENGINE FOR ” DOESN’T HAVE THIS OPTION解决方法
1,112 阅读
2
让浏览器不显示 https 页面中 http 请求警报 http-equiv=”Content-Security-Policy” content=”upgrade-insecure-requests”
845 阅读
3
报错代码:ERROR 1227 (42000)-解决办法
639 阅读
4
微信个人商户号养号建议
528 阅读
5
解决移动端position:fixed随软键盘移动的问题
479 阅读
PHP
Mysql
Linux
Reids
Java
常用笔记
学习
乱七八糟
Search
标签搜索
php
千卡云支付
Mysql
Linux
redis
千卡云
千卡易支付
Nginx
shell
JS
JSON
支付宝
CentOS
Apache
支付
function
database
fastadmin
phpstorm
快捷键
蓝科迪梦
累计撰写
69
篇文章
累计收到
0
条评论
首页
栏目
PHP
Mysql
Linux
Reids
Java
常用笔记
学习
乱七八糟
页面
4K壁纸
直播
统计分析
友情链接
搜索到
27
篇与
的结果
2023-08-01
php中的clone()方法
php5中默认通过引用传递对象,假设$obj1和$obj2是两个对象,使用$obj2=$obj1这样的方法复制出来的对象是相关联的,如果在程序中需要复制出一个值和原来相同的对象又不希望复制出来的对象与源对象相关联,那么就需要使用clone关键字,类似于$obj2=clone $obj1; 如果还希望在复制的同时,目标对象的某些属性与源对象的不同,可以在类里面定义一个__clone()方法,在这个方法中完成为目标对象的属性赋新值。 <?php class doclone{ private $id,$name,$address; public function __construct($id=0,$name='',$address=''){ $this->name=$name; $this->id=$id; $this->address=$address; } public function get_id(){ return $this->id; } public function get_name(){ return $this->name; } public function get_address(){ return $this->address; } public function __clone(){ $this->id=$this->id+1; $this->name='Kong'; $this->address='USA'; } } $A = new doclone(10,'A','UK'); echo '克隆之前的对象:'; echo 'id='.$A->get_id(); echo 'name='.$A->get_name(); echo 'address='.$A->get_address(); echo "\n"; $B = clone $A; echo '克隆过后的对象:'; echo 'id='.$A->get_id(); echo 'name='.$A->get_name(); echo 'address='.$A->get_address(); echo "\n"; echo '克隆过后的对象属性:'; echo 'id='.$B->get_id(); echo 'name='.$B->get_name(); echo 'address='.$B->get_address();
2023年08月01日
249 阅读
0 评论
0 点赞
2023-08-01
Expected response code 220 but got code “” with message “”
如题,在使用laravel时,mail按照配置阿里云邮箱 .env配置: MAIL_DRIVER=smtp MAIL_HOST=smtpdm.aliyun.com MAIL_PORT=465 MAIL_USERNAME=ali@mail.qvnidaye.com MAIL_PASSWORD=** MAIL_FROM_ADDRESS=ali@mail.qvnidaye.com MAIL_FROM_NAME=鼎云网络 MAIL_ENCRYPTION=SSL 发送邮件报错: Expected response code 220 but got code "", with message """ 解决办法: 找到config/mail.php 更改:'encryption' => env('MAIL_ENCRYPTION', 'tls'), 再次发送测试邮件,发送成功。 这个一般是由于encyption配置导致的 Secure Sockets Layer (SSL) Transport Layer Security (TLS) 如果使用ssl端口则encyption配置项必须为465/994如果使用非ssl则应该使用25
2023年08月01日
235 阅读
0 评论
0 点赞
2023-08-01
thinkphp5报错 Call to a member function toArray() on array
thinkphp5内报错Call to a member function toArray() on array 使用场景 使用模型查询后,想获取不包含对象内容的数组结构的结果。 使用方式 $gardenAuth = new GardenAuth(); $res = $gardenAuth->where(['id'=>$id])->select()->toArray(); 结果 Call to a member function toArray() on array 原因 数据库(database.php)里设置的返回数据结果为数组类型 'resultset_type' => 'array' 解决方式 方法一: 全局:修改Config.php 'resultset_type' => 'collection' 方法二: 局部:在模型中加入 protected $resultSetType = 'collection'; 方法三: 推荐,thinkphp自带的一个方法 if (!function_exists('collection')) { /** * 数组转换为数据集对象 * @param array $resultSet 数据集数组 * @return \think\model\Collection|\think\Collection */ function collection($resultSet) { $item = current($resultSet); if ($item instanceof Model) { return \think\model\Collection::make($resultSet); } else { return \think\Collection::make($resultSet); } } } 调用方法: $res = collection($res)->toArray();
2023年08月01日
237 阅读
0 评论
0 点赞
2023-08-01
PHP Fatal error: Class 'Memcache' not found in
安装了memcached和php的memcache的扩展,PHPinfo()也支持了memcache, 但是放在项目中就提示Class"Memcache" not found, 最后发现php7.3装的是memcached,多节点的 然后更换了php7.1重新配置了memcache之后正常运行
2023年08月01日
236 阅读
0 评论
0 点赞
2023-04-18
PHP在数组中追加列
/* model实例化*/ $list = self::where($where) ->with(['user''node']) ->alias('log') ->field('log.idlog.user_idlog.rate(log.u + log.d) as origin_trafficlog.trafficlog.log_timelog.node_id') ->order($order) ->paginate([ 'query' => Request::get() 'list_rows' => $pageSize ]); $ids = $list->toarray(); //重新的整理数组 $ids = array_values(array_column($ids["data"]'daili_code')); //获取数组中指定列,并去除键名 $ids = implode("" $ids); //格式化数组 /* 空值处理 */ if(!$ids){ $ids=[]; array_push($ids'0'); } $daili = Db::name('app_daili')->where('daili_code''in'$ids)->field('name')->select(); //输出
2023年04月18日
233 阅读
0 评论
0 点赞
2023-04-18
php-redis Deprecated: Function Redis::setTimeout() is deprecated in
Deprecated: Function Redis::setTimeout() is deprecated in Deprecated 意思是不推荐,但仍然可以使用,是级别最低的报错 这是php7.0版本以后redis的错误提示 关闭此类报错只需到php.ini 修改参数 error_reporting = E_ALL &~E_NOTICE &~E_DEPRECATED 然后重启php服务就行了 但是Deprecated类报错会影响性能,最好是将不推荐的函数替换掉 https://segmentfault.com/a/1190000002880738 php-redis常用函数操作类 https://blog.csdn.net/haige025/article/details/97794504
2023年04月18日
259 阅读
0 评论
0 点赞
2022-12-24
php报错:Cannot redeclare class 提示的解决方法
1.重复包含相同的类文件: 例如:对于某个类文件zuimoban.php,在a.php中 include "zuimoban.php"; 在b.php中 include "a.php"; include "zuimoban.php"; 就会报错。 解决:将上述的include全部替换为include_once,同理使用require导入方法时则全部替换为require_once即可。 include和require的区别:http://bbb.ms521.cn/index.php/Home/Index/article/aid/65 2.在同一个文件中重复声明了两次同名的类: 例如: <?php class Foo {} class Foo {} ?> 在第二个 Foo 的地方就会报错。 解决:去掉第二个Foo,或者重命名。 为了防止重复定义,可以在定义一个新的类的时候判断一下这个类是否已经存在: <?php if(class_exists('SomeClass') != true) {} ?> 3.该类为PHP类库中内置的类。 判断方法:在一个空文件中写入 <?php class Com {} ?> 这时候提示Cannot redeclare class Com,说明这个类就是PHP内置的类。不能使用。 另外,要避免使用太大众化的类名,比如Com,这个类在Linux使用可能是正常的,在Windows环境却无法运行
2022年12月24日
233 阅读
0 评论
0 点赞
2022-12-24
php-redis Deprecated: Function Redis::setTimeout() is deprecated in
Deprecated: Function Redis::setTimeout() is deprecated in Deprecated 意思是不推荐,但仍然可以使用,是级别最低的报错 这是php7.0版本以后redis的错误提示 关闭此类报错只到php.ini 修改参数 error_reporting = E_ALL &~E_NOTICE &~E_DEPRECATED 然后重启php服务就行了 但是Deprecated类报错会影响性能,最好是将不推荐的函数替换掉
2022年12月24日
269 阅读
0 评论
0 点赞
2022-12-16
Thinphp中mkdir() Permission denied的问题
最近一直在用TP写项目,在此遇到的问题也比较多。今天来谈谈“mkdir() Permission denied”错误。 你如果不仅仅写代码,还得部署到线上,那么这个tp5的这个错误,你有很大概率会遇见它。 因为这跟文件的权限有关系,特别是自动生成的文件或者目录类的权限,linux服务器出于安全因素对于用户的权限有着严格的控制。 对于tp框架而言,自动生成的文件或者目录应该是runtime目录,所以在线部署代码的时候,开放此类目录的权限。 所以解决mkdir() premission denied 的问题最直接的方式,把runtime权限放开,让所有用户都可以创建它。 chmod -R 777 runtime 在liunx中进入项目目录执行以上命令,就能解决这个问题,简单,高效。 如果你对文件的安全要求比较苛刻,那么以上的答案并不能令你满意,简单,高效的方法背后一般需要牺牲一些安全因素为代价。 但以下提供的方法或许是一个不错的选择。 更改runtime目录的所有者,也就是runtime这个目录权限只针对所有者开放。 以我的项目为例,服务器是nginx,nginx中设置的访问用户为www用户,那么我只需要把runtime目录有root用户改为www用户就能解决此问题。 ps aux|grep nginx //查看当前的nginx进程,能够找到nginx用户是哪个(可能是www,user或者其他的) chown -R www runtime //chown -R <nginx 用户> runtime,改变runtime所有者为nginx用户 ok,进入项目目录去执行上面的命令吧,是否有效一试便知。 上面的方法的解释是因为对于web的每一个请求都是由服务器(nginx,apache等)代劳的,真正操作这些项目文件或目录的是这些服务器用户,比如nginx中的www用户,apache中的apache用户。所以指定文件或者目录的所有者就是这个问题的关键,至于第一个方法设置最高权限为何也可以呢,这个就相当于任何用户都能访问这个runtime目录,当然也包括www或者apache用户。退一步,上面的第二个方法是以nginx为例,如果你的服务器是apache呢,那你现在应该知道怎么改了吧。
2022年12月16日
180 阅读
0 评论
0 点赞
2022-12-16
PHP在数组中追加列
/* model实例化*/ $list = self::where($where) ->with(['user''node']) ->alias('log') ->field('log.idlog.user_idlog.rate(log.u + log.d) as origin_trafficlog.trafficlog.log_timelog.node_id') ->order($order) ->paginate([ 'query' => Request::get() 'list_rows' => $pageSize ]); $ids = $list->toarray(); //重新的整理数组 $ids = array_values(array_column($ids["data"]'daili_code')); //获取数组中指定列,并去除键名 $ids = implode("" $ids); //格式化数组 /* 空值处理 */ if(!$ids){ $ids=[]; array_push($ids'0'); } $daili = Db::name('app_daili')->where('daili_code''in'$ids)->field('name')->select(); //输出
2022年12月16日
286 阅读
0 评论
0 点赞
2022-10-27
让浏览器不显示 https 页面中 http 请求警报 http-equiv=”Content-Security-Policy” content=”upgrade-insecure-requests”
在我们服务器的响应头中加入:header(“Content-Security-Policy: upgrade-insecure-requests”); 或者在页面中加入meta头:<meta http-equiv=”Content-Security-Policy” content=”upgrade-insecure-requests” /> 都可以解决https页面中http请求的报警信息,意思是让 浏览器自动升级请求。 但是需要注意,如果当前没有服务器资源开启https,则会导致资源加载失败。
2022年10月27日
845 阅读
0 评论
2 点赞
2022-07-29
php判断继承类有没有对指定方法重写
use ReflectionClass; public function __construct() { $reflectClass = new ReflectionClass($this); //必须重写的方法 $requiredOverwriteMethods = [ 'isCurrentLimit', 'genCacheKey', 'really', ]; foreach ($requiredOverwriteMethods as $method) { if ($reflectClass->getMethod($method)->getDeclaringClass()->getName() !== $reflectClass->getName()) { throw new \Exception('继承:'.__CLASS__.'的子类必须重写方法:'.$method); } } unset($method); }
2022年07月29日
292 阅读
0 评论
0 点赞
1
2