技术饭 nginx+php使用open_basedir限制站点目录防止跨站

今天在帮助一个朋友配置一台服务器时发现网站配置好了缓存目录读写不成功,在打开错误时发现提示 Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(../license.php) is not within the allowed path(s): 错误了。

阅读全文 » 1949天前
2018年12月24日

技术饭 跨域ajax异步测试微信分享功能,微信授权回调页面分享解决方案

跨域ajax异步测试微信分享功能,微信授权回调页面分享解决方案,这个功能研究了有一段时间了。刚开始没注意研究微信的签名,导致一直报错签名错误:config:invalid signature,由于微信给出的签名url地址必须是当前网址,所以需要把当前的网址传给后端做加密签名,然后返回的签名才是正常的!!!

阅读全文 » 1950天前
2018年12月23日

技术饭 微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案

微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案,已经获取微信公众号发布的图片,但不能正常显示 ,提示:此图片来自微信公众平台 未经允许不得引用。这是怎么回事呢?遇到这种问题是因为微信公众平台对图片采用了防盗链设置,微信对外提供了API接口,让我们可以通过授权的方式获取到自己公众号里面的文章,或者你也可以通过爬虫去抓取微信的文章,但是微信的图片默认是不允许外部调用的。

阅读全文 » 1954天前
2018年12月19日

技术饭 ajax 设置Access-Control-Allow-Origin实现跨域访问

ajax 设置Access-Control-Allow-Origin实现跨域访问,ajax跨域访问是一个老问题了,解决方法很多,比较常用的是JSONP方法,JSONP方法是一种非官方方法,而且这种方法只支持GET方式,不如POST方式安全。

阅读全文 » 1955天前
2018年12月18日

技术饭 微信 {"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}

微信 {"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"},认证服务号使用 snsapi_base 方式授权获取用户信息是报错,原因是 snsapi_base 这种方式无法获取用户的基本信息,没有经过授权。

阅读全文 » 1955天前
2018年12月18日

技术饭 wnmp3.1.0安装之后数据库连接报错:port: 3306 source distribution,访问localhost、127.0.0.1报错:10060: A connection attempt failed because...

wnmp3.1.0安装之后数据库连接报错:port: 3306 source distribution,访问localhost、127.0.0.1报错:10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

阅读全文 » 1956天前
2018年12月17日

技术饭 测试公众号网页授权snsapi_userinfo 回调提示未关注测试公众号

我使用测试公众号测试网页授权oauth snsapi_userinfo, 未关注测试公众号,然后点击我的页面,跳转后微信提示未关注测试账号,请问是测试账号的问题? 我反复检查了程序,回调地址是没问题的。

阅读全文 » 1961天前
2018年12月12日

技术饭 redirect_uri 域名与后配置不一致 10003

在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头;

阅读全文 » 1962天前
2018年12月11日

技术饭 call_user_func 函数在命名空间下调用函数的问题

在有命名空间的条件下会报这样一个错 Warning: call_user_func() expects parameter 1 to be a valid callback, function 'barber' not found or invalid function name in 提示找不到这个函数

阅读全文 » 1962天前
2018年12月11日

技术饭 uploadfive1.2.2 + jquery-cropper实现图片裁剪后上传

为了做图片上传然后再进行裁剪之后上传,这个东西研究了一晚上,本来想参考webuploader + cropper实现图片裁剪后上传,但是两者上传还是有一些差别,所以就重新整理了uploadfive1.2.2 + jquery-cropper实现图片裁剪后上传,分享出来让大家少走弯路!!!

阅读全文 » 1966天前
2018年12月07日

技术饭 关于开放爱客猴内容管理系统5.0版本基本后台

关于开放爱客猴内容管理系统5.0版本基本后台,由于一段时间一直没时间更博,也没有时间去将原始内容管理系统的3.2.3版本更新到5.0,闲余时间就写了一个基本后台,后续就不在做其他任何的维护了,人生很长,还有更重要的事情等着我去做!!!

阅读全文 » 1976天前
2018年11月26日

技术饭 Warning: ZipArchive::addFile(): Invalid or uninitialized Zip object

ZipArchive::open()参数2为ZipArchive::OVERWRITE的时候,当目标文件已经存在时,程序会生成一个新的同名文件覆盖原来的文件,但是,当这个文件不存在时,ZipArchive::open()将返回数字9,是常量ZipArchive::ER_NOENT的整数值,错误信息是“No such file.”。

阅读全文 » 1978天前
2018年11月25日

技术饭 php使用explode拆分含多个分隔符的字符串,分隔字

php使用explode拆分含多个分隔符的字符串,分隔字,利用str_replace()方法先把特殊字符先替换成某一个特殊字符,然后再进行分割,或者使用preg_split()也是可以的。

阅读全文 » 1986天前
2018年11月17日

技术饭 tp5中url使用js变量传参方法

tp5中url方法使用的都是{}这个字符来解析,layui使用的是{{}}来解析,这就造成了无法把js变量传参到tp5的url()方法中,那只能去做替换,或者改成?好的形式了。

阅读全文 » 1986天前
2018年11月17日

技术饭 Jquery取得iframe中元素的几种方法

Jquery取得iframe中元素的几种方法,最近在重新爱客猴内容管理系统后台,遇到需求就是需要刷新子iframe,网上资料找了半天终于找到了解决方案,整理发出!!!

阅读全文 » 1991天前
2018年11月12日

技术饭 PHPExcel在PHP7中无法导出的解决方案

PHPExcel在PHP7中无法导出的解决方案,在php7之前是可以正常导出的,在php7中使用save(‘php://output’)出现ERR_INVALID_RESPONSE的错误主要是下面错误导致。

阅读全文 » 1997天前
2018年11月05日

技术饭 Linux下如何实现Mysql数据库每天自动备份定时备份

备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。而对于一些网站、系统来说,数据库就是一切,所以做好数据库的备份是至关重要的!

阅读全文 » 2000天前
2018年11月03日

技术饭 php扩展swoole的基础使用

Swoole:面向生产环境的 PHP 异步网络通信引擎,使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。

阅读全文 » 2008天前
2018年10月25日

技术饭 Linux:PS命令详解与使用

要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,ps命令就是最基本进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到。ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。

阅读全文 » 2014天前
2018年10月20日

技术饭 WebSocket基础教程

初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处?答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起。

阅读全文 » 2023天前
2018年10月11日

技术饭 Nginx实现负载均衡的几种方式

什么是负载均衡,当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器就会崩溃。为了避免服务器崩溃,让用户有更好的体验,我们通过负载均衡的方式来分担服务器压力。

阅读全文 » 2023天前
2018年10月11日

技术饭 php解决高并发问题

我们通常衡量一个Web系统的吞吐率的指标是QPS(Query Per Second,每秒处理请求数),解决每秒数万次的高并发场景,这个指标非常关键。举个例子,我们假设处理一个业务请求平均响应时间为100ms,同时,系统内有20台Apache的Web服务器,配置MaxClients为500个(表示Apache的最大连接数目)。

阅读全文 » 2023天前
2018年10月11日

技术饭 PHP面试的知识点

PHP面试之一:PHP基础知识点,PHP面试之二:高并发与大数据,PHP面试之三:MySQL数据库,PHP面试之三:MySQL数据库

阅读全文 » 2024天前
2018年10月10日

技术饭 PHP的WEB系统单机与分布式集群

当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决。

阅读全文 » 2024天前
2018年10月10日

技术饭 thinkphp5分页抓取数据并入库

PHP可以通过curl抓取其他网站接口数据,抓取到的数据量有时候很多,这个时候如果进行入库的话会造成执行时间过长而停止报错500,解决方案有:1、php配置值max_execution_time修改大一些,还有就是nginx的执行时间也可以修改大一些,但这回造成网页一直卡着也很消耗服务器内存;2、进行分页抓取。

阅读全文 » 2025天前
2018年10月09日

技术饭 PHP数据传输神器CURL详解

我们在使用PHP开发网站的后台的时候,有时候需要在PHP代码中请求某一个网页,比如在微信开发中,我们在代码中请求微信服务器地址,得到开发凭证access_token,这时候使用CURL来处理请求是最合适的。如果你想使用PHP来开发微信,那么CURL是一个必备的知识点。

阅读全文 » 2027天前
2018年10月07日

技术饭 curl文件上传至远程图片服务器

在这里我们利用curl实现把本地服务器的文件通过curl发送请求给远程服务器的php文件接受就实现了上传,还一个是利用ftp来上传方法也是php中的curl操作ftp服务器进行上传。

阅读全文 » 2027天前
2018年10月07日

技术饭 PHP文件上传实现上传到另一台服务器

本文讲的是PHP文件上传实现上传到另一台服务器, ftp_connect() 函数建立一个新的 FTP 连接。 若成功,则返回一个连接标识,否则返回 false。 语法 host 必需。规定要连接的 FTP 服务器。可以是域名或 IP 地址。 后面不应以斜线结尾,前面也不需要用。

阅读全文 » 2027天前
2018年10月07日

技术饭 Mysql-Proxy代理配置

Mysql-Proxy是一个处于你的client端和Mysql Server端之间的一个简单程序,它可以监测、分析和改变他们的通信。它使用灵活没有限制,常见的用途包括:负载平衡,故障、查询分析,查询过滤和修改等等。

阅读全文 » 2028天前
2018年10月06日

技术饭 MySQL 8.0主从(Master-Slave)配置

MySQL 主从复制的方式有多种,本文主要演示基于基于日志(binlog)的主从复制方式。MySQL 主从复制(也称 A/B 复制) 的原理:Master将数据改变记录到二进制日志(binary log)中,也就是配置文件log-bin指定的文件, 这些记录叫做二进制日志事件(binary log events);Slave 通过 I/O 线程读取 Master 中的 binary log events 并写入到它的中继日志(relay log);Slave 重做中继日志中的事件, 把中继日志中的事件信息一条一条的在本地执行一次,完成数据在本地的存储, 从而实现将改变反映到它自己的数据(数据重放)。

阅读全文 » 2029天前
2018年10月05日

技术饭 MySQL创建自定义函数(Functions)

MySQL创建自定义函数(Functions),查看函数功能是否开启:show variables like '%func%';开启:SET GLOBAL log_bin_trust_function_creators=1;关闭:SET GLOBAL log_bin_trust_function_creators=0;

阅读全文 » 2029天前
2018年10月05日

技术饭 mysql触发器trigger 实例详解

触发器是由事件来触发某个操作,这些事件包括insert语句、update语句和delete语句。当数据库系统执行这些事件时,会激活触发器执行相应操作。MySQL从5.0.2开始支持触发器。使用触发器可以保证某些操作之间的一致性。

阅读全文 » 2029天前
2018年10月05日

技术饭 mysql的event(事件)用法详解

mysql5.1版本开始引进event概念。event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发。通过单独或调用存储过程使用,在某一特定的时间点,触发相关的SQL语句或存储过程。

阅读全文 » 2029天前
2018年10月04日

技术饭 Mysql中的存储过程

简单的说Mysql中的存储过程就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法;存储过程跟触发器有点类似,都是一组SQL集,但是存储过程是主动调用的,且功能比触发器更加强大,触发器是某件事触发后自动调用。

阅读全文 » 2030天前
2018年10月04日

技术饭 MySQL主键和外键使用及说明

MySQL通过外键约束来保证表与表之间的数据的完整性和准确性。外键的使用条件:1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持);2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立; 3.外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以;外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作。

阅读全文 » 2031天前
2018年10月03日

技术饭 MySql数据统计使用 WITH ROLLUP 统计总和

MySql数据统计使用 WITH ROLLUP 统计总和,ITH ROLLUP 可以实现在分组统计数据基础上再进行相同的统计(SUM,AVG,COUNT…)。例如我们将以上的数据表按名字进行分组,再统计每个人登录的次数。

阅读全文 » 2031天前
2018年10月03日

技术饭 php二维数组根据某字段去重

php二维数组根据某字段去重

阅读全文 » 2033天前
2018年10月01日

技术饭 php利用array_search与array_column实现二维数组查找

在看php手册数组函数时,看到了一个高赞的用户回答传送门,利用array_search与array_column实现二维数组查找,不用自己写个循环,减少工作量。

阅读全文 » 2035天前
2018年09月28日

技术饭 PHP抓取远程图片到本地保存

最近在工作中需要开发了一个用户素材功能,里面需要将网上的各种图片素材进行本地化存储。于是在网上找了一些相关资料,并根据自身开发需要,整理了一下主要的逻辑代码。

阅读全文 » 2047天前
2018年09月17日

技术饭 Linux用户与用户组详解

在linux中,用户帐号,用户密码,用户组信息和用户组密码均是存放在不同的配置文件中的。在linux系统中,所创建的用户帐号和其相关信息(密码除外)均是存放在/etc/passwd配置文件中。由于所有用户对passwd文件均有读取的权限,因此密码信息并未保存在该文件中,而是保存在了/etc/shadow的配置文件中。

阅读全文 » 2048天前
2018年09月16日