自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

原创 使用 Socket 抓取数据

要在客户端操作 Socket ,可使用 fsockopen、socket_create、stream_socket_client 等函数实现。如果是PHP 5,建议使用 stream_socket。 fsockopen 实现长连接。Client 方与 Server 方先建立通信连接,连接建立后不断开,然后再进行报文发送和接收。 使用 Socket 获取数据的实现,GET 方法。...

2017-03-17 16:40:17 1394

原创 PHP 中的 Socket 函数

Socket 就是一种通信机制,类似于银行、电信这些部门的电话客服部门。打电话时,对方会分配一个坐席代表回答你的问题,客服部门就相当于 Socket 的服务器端,你就相当于客户端。在通话结束前,如果有人想找到和你通话的坐席代表是不可能的,因为你们正在通信,客服部门的电话交换机也不会重复分配。 Socket 函数的原型定义如下: SOCKET socket( int af, in...

2017-03-17 15:28:59 242

原创 改善 MyISAM 性能措施

MyISAM 存储引擎需要监控的信息很少。这是因为 MyISAM 存储引擎是建立在 Web 应用程序上的,主要致力于快速查询,因此,对于该存储引擎,你只需要调节服务器上的一个功能——Key cache。这并不意味着没有其他措施可以用来提高性能,相反,有很多事情可以做。提高性能的方法大致分为三类:优化磁盘存储、通过监控和优化 Key cache 来有效地使用内存,以及优化数据库表。 主要...

2017-03-08 11:12:25 445

原创 提高 MySQL 存储引擎 InnoDB 性能

InnoDB 存储引擎的架构非常复杂,是专门为高并发性和复杂事务性活动和设计的。它有许多高级功能,应该在改进性能前优先考虑这些功能。我们主要关注那些可以被监控和改进的功能,包括索引、缓冲池、日志文件和表空间。 InnoDB 表使用聚集索引。即使未指定索引,InnoDB 也会为每行分配一个内部值,用于使用聚集索引。聚集索引是一种数据结构,它不仅存储索引,还存储数据本身。也就是说,一旦定位...

2017-03-04 20:51:34 207

原创 MySQL 5.5 复制格式

基于语句复制的优点从 MySQL 3.23 起就已经支持基于语句复制了 不用把大量的数据写进日志文件。当删除或者更新大量的数据时,日志的储存空间增长速度不会很快 日志记录了那些数据更改的SQL语句,保证数据库的一致。基于语句复制的缺点基于语句的复制中,以下语句是不安全的。使用基于语句的复制中,并非所有的修改数据(例如 INSERT DELETE, UPDATE...

2017-03-02 11:45:01 139

原创 MySQL5.5 分区简述

    随着数据库应用规模的扩展,需要管理的数据规模也越来越大,普通的数据库查询优化机制在某些情况下已不能再满足性能的要求了。利用数据库分区技术,可以有效地减少 I/O 的数量,提升系统的查询性能。  1.什么是分区?    数据库分区是一种物理数据库设计技术,DBA 和数据库建模人员对其相当熟悉。虽然分区技术可以实现很多效果,但其主要目的是在特定的 SQL 操作中减少数据库读/写的总...

2017-03-02 11:09:53 200

原创 MySQL 5.5 主从复制配置

 第一步:确认主从服务器的 MySQL 版本。 MySQL 不同版本的 BinLog 格式可能不一样,最好采用相同版本。如果达不到要求,必须保证主服务版本不高于从服务器版本。用 mysql -V 命令查看。  第二步:在主服务器上为从服务器设置一个连接帐号,授予 REPLICATION SLAVE 权限。 每个从服务器使用标准 MySQL 用户名和密码连接主服务器。...

2017-02-25 23:06:51 138

原创 MySQL 5.5 主从复制工作原理

    主从复制功能通过在主服务器和从服务器之间切分处理客户查询的负荷,可以得到更好的客户响应时间 SELECT 查询可以发送到从服务器,以降低主服务器的查询处理负荷。修改数据的语句仍然发送到主服务器,以使主、从服务器保持同步。如果非更新查询为主(如 SELECT 查询),该负载均衡策略很有效。     MySQL 主从复制优点如下:增长健壮性。主服务器出现问题时,切换到从服务器作为备份...

2017-02-25 21:23:25 104

原创 PHP5中使用PDO连接数据库

1.什么是PDO?   PDO(PHP Data Objects) 是 PHP 的一个扩展,定义了一系列轻量级的、通用性的、跨数据库的访问接口。    在以前,如果你用的是MySQL数据库,要打开 php_mysql.dll 的一个扩展,然后用 PHP 提供的 MySQL 函数来访问数据库;如果你用的是 MSSQL,就打开 php_mssql.dll 的扩展,用 PHP 提供的 MSSQL...

2017-02-25 21:20:12 124

原创 MySQL 语句性能分析

MySQL 执行计划就是在一条 SELECT 语句前放上关键词 EXPLAIN ,MySQL 解释它将如何处理 SELECT,提供有关表如何联合和以什么次序联合的信息。借助于 EXPLAIN 可以知道:什么时候必须为表加入索引,以得到一个使用索引找到记录的更快的 SELECT 方法。优化器是否以一个最佳次序联结表 各属性的含义如下: id:查询的序列号select_t...

2017-02-21 18:26:30 124

原创 MySQL 调整优化措施

1. 关闭不必要的二进制日志和慢查询日志,仅在内存足够或开发调试时打开它们。使用下面的语句查看查询是否打开。 show variables like '%slow%'; 还可以使用下面的语句查看慢查询的条数,定期打开方便优化。 show global status like '$slow%'; 但是慢查询也会带来一些 CPU 损耗。建议间断性打开慢查询日志来定位...

2017-02-21 15:17:26 154

原创 Linux 查看系统资源命令

进程的查看[root@linux ~]# ps aux        <==查看系统所有的进程数据USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.1 1740 540 ? S Jul25 0:01 init [3]root 2 0.0 0.0 0 0 ? SN...

2017-01-16 18:11:13 209

原创 微信公众平台redirect_uri 参数错误原因

发现原来是因为没有配置网页授权 ,设置如下: 图 1  图 2  

2016-12-08 18:19:32 240

原创 I/O 重新导向及管道

1. I/O 重新导向输出导向# ls -al /etc > /test1/ext.txt     -> 将 /etc 目录下的文件数据结果存储到 /test1/etc.txt 文件中  # cat > /test1/editor.txt   -> 成为简单的文字编辑器 I Love Linux !! -> 按 Enter 键  ...

2016-11-30 17:22:42 142

原创 常用 Vi 命令和操作介绍

1、Vi的执行与离开sherlock@sherlock-laptop:~$ vi   #进入vim可以查看有关命令2、Vi的操作模式 Command Mode    控制光标的移动、删除字符、区段复制,以及进入Insert Mode或者Last Line Mode功能 Insert Mode    唯一的功能即是文字数据的输入。按Esc键可以回到Command ...

2016-11-30 16:41:39 179

原创 Nginx 与 PHP-FPM 运行原理

一、什么是 FastCGI FastCGI是一个可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口。多数流行的HTTP server都支持FastCGI,包括Apache、Nginx和lighttpd等,同时,FastCGI也被许多脚本语言所支持,其中就有PHP。FastCGI是从CGI发展改进而来的。传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务...

2016-07-28 11:23:09 170

原创 CentOS 安装 Nginx 与 PHP(FastCGI)

  安装 Nginx Nginx 安装比较简单,可以到这里查看: http://nginx.org/en/docs/install.htmlhttps://www.nginx.com/resources/wiki/start/topics/tutorials/install/  安装 PHP 1.下载 PHP 到官方网站下载 PHP。网址...

2016-07-28 11:21:44 515

原创 Linux ls 命令出现 Input/output error 错误的问题

今天 Linux 机器忽然发现一个问题:目录访问不了了,运行 ls 命令出现下面的错误。   运行 df -h 命令来查看系统硬盘情况。   然后用 fdisk -h 或者 lsblk 去看机器有哪些硬盘。发现只有sdb 和 sdc。然后卸载,重新把正确的盘挂载到 /webdata 上: umount /dev/sda mount /dev/sdc  /webdata ...

2016-06-29 09:58:30 84885 4

原创 PHP 设置 HTTP 头信息导出 Excel 报表

 不需要用到 fputcsv 函数来生成报表。只需设置相应的格式和HTTP头信息,就能够生成报表了。附上代码: <?phpheader("Content-type: application/vnd.ms-excel; charset=utf-8");header("Content-Disposition: attachment; filename=excel.xl...

2016-06-14 16:29:39 345

原创 用 Media Queries 设计移动网页端

今天来通过Media Queries样式模块,可以实现根据移动设备的屏幕大小,定制网站页面的不同布局效果。它的优点是开发者只需要实现一套页面,就能够在所有平台的浏览器下访问网站的不同效果。 用 viewport 设置适应移动设备屏幕大小 1.什么是 viewport Apple 为了解决移动版 Safari 的屏幕分辨率大小问题,专门定义了 viewport 虚拟窗口。它的主要作用是允许...

2016-05-31 14:48:51 217

原创 用 PHP 自带函数 fputcsv 和 fgetcsv 来导出报表和导入报表

PHP 自带函数 fputcsv 可以实现打印报表(Excel)功能。如果你的对报表格式要求不是很高,那么 fputcsv 是很好的选择。它执行效率高,不需要第三方库,用起来很方便。 一、用 fputcsv 导出报表 <?php$list = array("George,John,Thomas,USA","James,Adrew,Martin,USA",...

2016-05-30 18:04:46 503

原创 PHP 设置动态网页在浏览器的缓存

很多人可能不知道,动态网页在浏览器也是可以缓存的。下面就以 PHP 脚本为例子,阐述如何设置动态网页在浏览器缓存 <?php//设置网页过期时间为1小时$duetime = 3600*24*30;//获取浏览器会向服务器传送 Last-Modified 报头$modify_time = $_SERVER['HTTP_IF_MODIFIED_SINCE'...

2016-05-30 14:47:31 370

原创 PHP Excel 出现 PHP Warning: ZipArchive::open() Unable to access php://output 的解决方案

本来服务器用PHP Excel 导出 excel 运行得好好的,忽然出现 PHP Warning: ZipArchive::open() Unable to access php://output 原因。  下载的文件,打开也出现这样的错误。 原来服务器 php.ini 的配置被改了。启用了安全模式,只要把安全模式关了就行。 ; Safe Mode ; http://php.net/...

2016-05-20 11:20:41 411

原创 Android 调用微信登录出现 错误提示:{"errcode":40029,"errmsg":"invalid code"} 原因

在开发安卓应用微信登录时,安卓应用发起微信授权登录请求,微信用户允许授权安卓应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数; 但是发现 https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=aut...

2016-05-18 10:46:46 7102

原创 Linux 的目录简介

Linux分区的命名Linux分区的命名一般是这样的:/dev/xxyN/dev/    这个字符串是所有设备文件所在的目录名。因为分区在硬盘上,而硬盘是设备,所以这些文件代表了在/dev/上所有可能的分区xx     分区名的前两个字母表明分区所在设备的类型。通常是hd(IDE磁盘)或sd(SCSI磁盘)。y       这个字母表明分区所在的设备。例如,/dev/hd...

2016-05-14 15:26:15 84

原创 Linux 下的软件管家 YUM

    yum 是透过分析 RPM 的标头资料后, 根据各软件的相关性制作出属性相依时的解决方案,然后可以自动处理软件的依赖属性问题,以解决软件安装或移除与升级的问题。     举个形象的例子:你要安装 NetBeans 集成开发环境,你首先要 rpm 命令先安装 JDK ,然后才能够成功安装 NetBeans 。如果用 YUM 命令,系统会自动先帮你安装 JDK,再帮你安装 NetBeans ...

2016-05-14 15:05:58 675

原创 JavaScript 与 PHP 进行 RSA 加密解密实例

RSA 即“非对称加密算法”。它有3个特征:  乙方生成两把密钥(公钥和私钥)。公钥是公开的,任何人都可以获得,私钥则是保密的。甲方获取乙方的公钥,然后用它对信息加密。乙方得到加密后的信息,用私钥解密。在开发应用的时候,你可能会碰到这样的需求:密码不能够明文传输,又无法用 HTTPS 协议。这时就可以用到 RSA 来解决这个需求了。以下是 JAVASCRIPT 调...

2016-05-14 11:47:12 236

原创 Linux 用 phpize 快速扩展php模块

 一,phpize的好处 什么时候我们要用phpize呢?我们在安装php时:# ./configure --prefix=/usr/local/php  --enable-fpm --enable-fastcgi --enable-ftp --with-mcrypt --enable-mbstring --with-curl --with-iconv --with-gettext...

2016-05-12 17:23:15 116

原创 Linux 系统 PHP 连接 Oracle 出现 ORA-24408: could not generate unique server group name

在 Linux 服务器上出现 "ORA-24408: could not generate unique server group name" 错误, 相同的代码在本地 Windows 没有问题。Google了一下,找到解决方法: 在 /etc/sysconfig/network 有 "HOSTNAME=netdisk7" 记录(netdisk7是设置的主机名,如果不存在则需要添加),然后 在 ...

2016-05-12 17:18:12 767 1

原创 CentOS 用 phpize 安装 PHP 扩展出现 Can't find PHP headers in /usr/include/php 原因

因为要在 CentOS 用 PHP 操作 Oracle 数据库,要安装新的 PHP 扩展 oci8 。 关于安装 PHP 扩展,以前总以为要重新编译 PHP,今天查阅大量资料发现原来可以像apache模块一样动态扩展。今天就以 oci8 举例。 一、进入要安装的扩展的源码目录(没有就到官方下载源代码)# cd /root/php-5.5.35/ext/oci8 运行 phpi...

2016-05-12 17:11:26 1117

原创 ECSHOP 如何开发一个模块后台管理

就以在公司网站做的一个功能为例子:要与第三方平台进行积分迁移与兑换。此时需要增加一个后台管理功能:1)查看与搜索相关记录。2)添加与编辑相关记录。 当用 ECSHOP 添加一个后台功能时,会涉及到添加和修改一些文件。如下图, 说明:guatenghui 是系统 ECSHOP 的目录。rate_info_list.php,rate_list.htm,rate_info.htm 是新增主文件和模板...

2016-05-12 16:50:33 426

原创 Oracle 怎样一次插入多条记录

Oracle 一次性插入多条记录跟 MYSQL 有很大不同。MYSQL  是这样的,但在 Oracle 中行不同。 INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees'),('Gates', 'Champs-Elysees') Oracle 可以使用虚拟表 dual 一次插入多条记录...

2016-05-10 10:01:37 591

原创 PHP 连接 Oracle 出现中文乱码问题

数据库用 oracle,当 PHP连接 Oracle 的时候,如果指定字符集,会出现中文乱码。 查PHP手册,oci_pconnect  的第四个参数为 charset,只需设置这参数即可。 首先获取 Oracle 的字符集,运行“SELECT * FROM V$NLS_PARAMETERS;”,变量NLS_CHARACTERSET对应的就是我们需要的字符集,比如我这里就是 “...

2016-05-10 09:40:24 1456

原创 Windows下 Apache 搭建和配置Subversion服务器

一、软件下载   到 http://www.collab.net/downloads/subversion 下载相关软件。   二、安装软件     Subversion 1.8.3 版本的安装包自带了Apache 2.2.8,所以无需额外安装Apache服务器。一路默认安装,如果需要修改仓库根目录或者Apache2.2.8端口可以自行修改为自己的信息,A...

2016-05-07 10:50:59 313

原创 文件上传 PHP 总是获取空值的原因

前不久在为公司的项目瓜藤网(http://www.guaten.com/)的后台作一个扩展的时候,商品属性可以上传图片。   发现后台 PHP 获取的文件总是空值,花了很长时间才发现是这个原因:  PHP 能否上传文件以及上传多少个文件,取决于两个值:file_uploads 和 max_file_uploads。 发现在 HTML 文档中 <inpu...

2016-05-07 10:44:51 785

原创 PHP 调用 Oracle 存储过程出现 not all variables bound 原因

今天发现使用 PHP 调用 Oracle 存储过程总是出现这样的一个错误。 ORA-01008: not all variables bound 后来折腾了很久,发现是变量名写错了。 <?php$conn = oci_connect('SCOTT','TIGER') or die;// 建立连接 if (!$conn) { $e = oci_er...

2016-05-07 10:16:57 6532

原创 JavaScript正则表达式和模式匹配

元字符+ :元字符规定其前导字符必须在目标对象中连续出现一次或多次。* :元字符规定其前导字符必须在目标对象中出现零次或连续多次。? :元字符规定其前导对象必须在目标对象中连续出现零次或一次。\s :用于匹配单个空格符,包括tab 键和换行符。\S :用于匹配除单个空格符之外的所有字符。\d :用于匹配从0 到9 的数字。\w :用于匹配字母,数字或下划线字符。\W :用于匹配所有与\w 不...

2016-05-05 09:23:36 63

原创 PHP 调试工具Xdebug

1.Xdebug介绍   Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。  2.Xdebug安装及配置1、下载Xdebug组件到Xdebug官方网站 www.xdebug.org下载相对应的PHP版本的xdebug组件。如果你用的是 wamp ,则已经集成到里面了,可以用 phpinfo() 进...

2016-05-04 10:08:13 75

原创 PHP SQLite 简介

一、什么是 SQLite    SQLite 是一款轻型的数据库,是遵守ACID标准,它占用资源非常的低,可能只需要几百K的内存就够了。它能够支持 Windows/Linux/Unix 等等主流的操作系统,同时能够支持很多程序语言,如C、PHP、Java等。     它适用于一些中小型的软件的数据库,如嵌入式开发、路由器、桌面程序。 二、特点 ...

2016-05-04 09:51:56 178

原创 PHP 中用 htmlspecialchars() 对特殊字符进行编码的弊端

    当对表单传递过来的参数用 htmlspecialchars 对特殊字符(& ,' ," ,< ,> )进行编码时(由于插入数据库安全过滤的需要),会出现如下问题。       如果用户上传了一个文件是带有特殊字符的,如 ' ,文件名保存到数据库就会发生以下问题。        如果你服务器端的 PHP 代码是通过 $_GET['id'] 间...

2016-05-04 09:42:40 650

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除