首页
友情链接
统计分析
4K壁纸
搜索
1
#1031 – TABLE STORAGE ENGINE FOR ” DOESN’T HAVE THIS OPTION解决方法
997 阅读
2
让浏览器不显示 https 页面中 http 请求警报 http-equiv=”Content-Security-Policy” content=”upgrade-insecure-requests”
767 阅读
3
报错代码:ERROR 1227 (42000)-解决办法
574 阅读
4
微信个人商户号养号建议
489 阅读
5
解决移动端position:fixed随软键盘移动的问题
414 阅读
PHP
Mysql
乱七八糟
常用笔记
Linux
Reids
Search
标签搜索
php
千卡云支付
Linux
千卡云
千卡易支付
redis
Nginx
shell
Mysql
JS
支付宝
CentOS
Apache
支付
function
database
fastadmin
phpstorm
快捷键
微信支付
蓝科迪梦
累计撰写
59
篇文章
累计收到
1
条评论
首页
栏目
PHP
Mysql
乱七八糟
常用笔记
Linux
Reids
页面
友情链接
统计分析
4K壁纸
搜索到
59
篇与
的结果
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日
227 阅读
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日
160 阅读
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日
244 阅读
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日
307 阅读
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日
574 阅读
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日
997 阅读
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日
363 阅读
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日
200 阅读
0 评论
0 点赞
2022-11-24
Bad file format reading the append only file: make a backup of your AOF file
服务器重启导致 redis服务restart。查看日志发现是redis 持久化文件损坏,redis重启时通过aof文件恢复数据失败,导致redis服务无法正常启动。 解决方法: 不知道redis-check-aof文件在哪 [root@VM-8-5-centos ~]# find / -name redis-check-aof /www/server/redis/src/redis-check-aof 2.手动恢复aof文件 [root@VM-8-5-centos ~]# cd /www/server/redis [root@VM-8-5-centos redis]# /www/server/redis/src/redis-check-aof --fix appendonly.aof The AOF appears to start with an RDB preamble. Checking the RDB preamble to start: [offset 0] Checking RDB file --fix [offset 26] AUX FIELD redis-ver = '6.2.6' [offset 40] AUX FIELD redis-bits = '64' [offset 52] AUX FIELD ctime = '1646625721' [offset 67] AUX FIELD used-mem = '84558568' [offset 83] AUX FIELD aof-preamble = '1' [offset 85] Selecting DB ID 0 [offset 1424] Selecting DB ID 1 [offset 24008] Selecting DB ID 4 [offset 25494692] Selecting DB ID 10 [offset 25511397] Selecting DB ID 12 [offset 25516496] Selecting DB ID 13 [offset 25518583] Selecting DB ID 14 [offset 25522159] Selecting DB ID 15 [offset 25523418] Checksum OK [offset 25523418] \o/ RDB looks OK! \o/ [info] 55 keys read [info] 24 expires [info] 23 already expired RDB preamble is OK, proceeding with AOF tail... 0x 252e33b: Expected prefix '*', got: ' AOF analyzed: size=38986653, ok_up_to=38986555, ok_up_to_line=396846, diff=98 This will shrink the AOF from 38986653 bytes, with 98 bytes, to 38986555 bytes Continue? [y/N]: y Successfully truncated AOF You have new mail in /var/spool/mail/root [root@VM-8-5-centos redis]# 3.重新启动redis,发现redis启动成功!(部分依赖该redis的程序也需要重新启动)
2022年11月24日
242 阅读
0 评论
0 点赞
2022-11-24
Windows server的Ubuntu子系统启动ssh服务时报错
$: sudo service ssh start Could not load host key: /etc/ssh/ssh_host_rsa_key Could not load host key: /etc/ssh/ssh_host_ecdsa_key Could not load host key: /etc/ssh/ssh_host_ed25519_key 需要用下列三个命令生成对应的key: sudo ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key sudo ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key sudo ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key 允许ssh登录 sed -i 's/PermitRootLogin no/PermitRootLogin yes/g' /etc/ssh/sshd_config sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config 此时重新执行:sudo service ssh start,正常启动。 此时可以通过127.0.0.1:22链接,也可以通过Ubuntu子系统中通过ifconfig查询到的IP链接。
2022年11月24日
165 阅读
0 评论
0 点赞
1
2
3
4
...
6