首页
友情链接
统计分析
4K壁纸
Search
1
#1031 – TABLE STORAGE ENGINE FOR ” DOESN’T HAVE THIS OPTION解决方法
710 阅读
2
让浏览器不显示 https 页面中 http 请求警报 http-equiv=”Content-Security-Policy” content=”upgrade-insecure-requests”
576 阅读
3
报错代码:ERROR 1227 (42000)-解决办法
393 阅读
4
微信个人商户号养号建议
341 阅读
5
解决移动端position:fixed随软键盘移动的问题
271 阅读
PHP
Mysql
乱七八糟
常用笔记
Linux
Reids
Search
标签搜索
php
千卡云支付
Linux
千卡云
千卡易支付
redis
Nginx
shell
Mysql
JS
支付宝
CentOS
Apache
phpstorm
快捷键
微信支付
字符
layer
Command
base64
蓝科迪梦
累计撰写
51
篇文章
累计收到
1
条评论
首页
栏目
PHP
Mysql
乱七八糟
常用笔记
Linux
Reids
页面
友情链接
统计分析
4K壁纸
搜索到
51
篇与
的结果
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日
136 阅读
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日
129 阅读
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日
148 阅读
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日
120 阅读
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日
156 阅读
0 评论
0 点赞
2022-12-07
Mysql和Redis的本质区别
1.mysql和redis的数据库类型 mysql是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢。 redis是NOSQL,即非关系型数据库,也是缓存数据库,即将数据存储在缓存中,缓存的读取速度快,能够大大的提高运行效率,但是保存时间有限 2.mysql的运行机制 mysql作为持久化存储的关系型数据库,相对薄弱的地方在于每次请求访问数据库时,都存在着I/O操作,如果反复频繁的访问数据库。第一:会在反复链接数据库上花费大量时间,从而导致运行效率过慢;第二:反复的访问数据库也会导致数据库的负载过高,那么此时缓存的概念就衍生了出来。 3.缓存 缓存就是数据交换的缓冲区(cache),当浏览器执行请求时,首先会对在缓存中进行查找,如果存在,就获取;否则就访问数据库。 缓存的好处就是读取速度快 4.redis数据库 redis数据库就是一款缓存数据库,用于存储使用频繁的数据,这样减少访问数据库的次数,提高运行效率。 5.redis和mysql的区别总结 (1)类型上 从类型上来说,mysql是关系型数据库,redis是缓存数据库 (2)作用上 mysql用于持久化的存储数据到硬盘,功能强大,但是速度较慢 redis用于存储使用较为频繁的数据到缓存中,读取速度快 (3)需求上 mysql和redis因为需求的不同,一般都是配合使用。
2022年12月07日
238 阅读
0 评论
0 点赞
2022-12-07
报错代码:ERROR 1227 (42000)-解决办法
考虑到数据库 MySQL 的稳定性和安全性,数据库 MySQL 限制了 super、shutdown、file 权限,有时在数据库 MySQL 上执行 set 语句时,会出现如下的报错: #1227-Access denied;you need(at least one of)the SUPER privilege (s) for this operation 解决方案: 删除SQL文件中的SET语句,然后重新导入就可以了 SET @MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN; SET @@SESSION.SQL_LOG_BIN= 0; -- -- GTID state at the beginning of the backup -- SET @@GLOBAL.GTID_PURGED='341db1af-a492-11e9-a8b6-6c92bf48c732:1-216839'; SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;
2022年12月07日
393 阅读
0 评论
0 点赞
2022-12-02
#1031 – TABLE STORAGE ENGINE FOR ” DOESN’T HAVE THIS OPTION解决方法
有一个数据库是从mysql5.6要导进5.7。 出现了:1031 – Table storage engine for ‘这里是具体表名’ doesn’t have this option的错误 5.6是:MyISAM,5.7是:InnoDB。 原来5.6的默认为:ROW_FORMAT=FIXED 但是5.7不支持,我没有具体去看资料,可能是我这个版本吧。 然后把:ROW_FORMAT=FIXED改成: ROW_FORMAT=COMPACT 就可以正常导入执行sql了。
2022年12月02日
710 阅读
0 评论
0 点赞
2022-11-24
Deprecated: Function Redis::delete() is deprecated
PHP 操作 Redis 时遇到如下的问题 Deprecated: Function Redis::delete() is deprecated 原因:php-redis 5 版本弃用了 Redis::delete() php -r 'phpinfo();' 运行上述命令在输出中找到 redis,看到为 5.0.1 版本 解决方法:将 delete($key) 改成 del($key) 的操作即可 附:被弃用的方法名的解决 被弃用方法名 替代方法名 delete del zUnion zunionstore zInter zinterstore zDeleteRangeByRank zRemRangeByRank zDeleteRangeByScore zRemRangeByScore zDelete zRem setTimeout expire sContains sismember sRemove srem sSize scard lGetRange lrange lGet lindex listTrim ltrim lRemove lrem lSize lLen getKeys keys getMultiple mget renameKey rename 参考: https://www.drupal.org/project/redis/issues/3068810 this is caused by the update to php-redis 5, apparently only in the PHP 7.3 images. 这是由于更新至 php-redis 5 版本后所造成的,很明显只会在 PHP 7.3 出现 https://github.com/phpredis/phpredis/pull/1588 all aliases are deprecated & delete is an alias for del 所有的别名被弃用 & delete 之前是作为 del 的别名 https://pecl.php.net/package-changelog.php?package=redis&release=5.0.0 Soft deprecate methods that aren't actually Redis commands [a81b4f2d, 95c8aab9] 被弃用的方法实际上并不是 Redis 本身自带的命令 https://github.com/phpredis/phpredis/pull/1572
2022年11月24日
245 阅读
0 评论
0 点赞
2022-11-24
php redis set 时 nginx 502 解决办法
nginx报错提示: *963623 recv() failed (104: Connection reset by peer) while reading response header from upstream .. php-fpm.log报错提示: WARNING: [pool www] child 10559 exited on signal 11 (SIGSEGV) after 0.504455 seconds from start .. 解决:(服务器出现502错误 可能进程过多导致) 修改 php-fpm.conf pm.max_children 设置的尽可能高一些 pm = dynamic pm.max_children = 60 pm.start_servers = 30 pm.min_spare_servers = 30 pm.max_spare_servers = 60 重启php-fpm即可 ============================== 以上是百度查到的实测之后发现没有用,服务器实际并发也并不高,怀疑是redis.so版本问题,于是到redis官方下载替换了php对应最高版本的redis扩展,测试后仍然不行 redis扩展下载: https://windows.php.net/downloads/pecl/releases/redis/5.3.1/ 最终解决方法,将封装的redis操作类方法更换到官方最新版本提供的操作函数,恢复! 目前怀疑是set时可能会存在空参数,而框架自带的封装操作类对空值做了一些无法描述的行为。。导致redis进程异常阻塞,php-fpm内存耗尽重启,导致nginx服务被挂起,然后产生的502问题
2022年11月24日
148 阅读
0 评论
0 点赞
1
2
3
...
6