gd 做为一个PHP的扩展,存放于源码 $php_dir/ext/gd/目录下面

之前源码编译安装了php,最小化安装,以至于mysqli扩展都没有,所以此扩展也是通过单独编译,动态加载
当运行项目时,才想起来了,最起码的gd库也没有,之前看公司负责服务器的同事装PHP环境时,重新编译PHP的方式来装GD库
嘿嘿,程序员是喜欢偷赖的哦,因为单独编译动态加载是比较方便快捷

于是乎,开始动手干了
一串命令:

phpize
./configure

咦,怎么报错了啊,说–with-jpeg-dir目录什么问题
简单的GG了一下,原来是系统缺少必要的文件
执行命令:

yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel

然后顺利编译通过
修改配置一下php.ini,然后重启服务器,重新运行项目
哇,怎么还是不行啊,有点小小的蛋疼

然后打开phpinfo()一看,
gif支持,
png支持,
就是没有jpeg支持,不过GD扩展下面有个gd.jpeg_ignore_warning,也算有个jpeg的影子
看来应该是jpeg比较特殊哦
打到jpeg包的地址

http://www.ijg.org/files/jpegsrc.v8d.tar.gz

下载之

wget http://www.ijg.org/files/jpegsrc.v8d.tar.gz

然后就是

tar zxvf jpegsrc.v8d.tar.gz
./configure –prefix=/usr/local/jpeg –enable-shared

(此处的–enable-shared网上特别提到:一定要带–enable-shared参数,不然,不会生成共享库.本人没有做详细的测试)

make
make install

OK,到此咱们已经有了jpeg的安装目录,接下来,重新编译php下面的gd扩展
这次单独带上jpeg
一串命令:

phpize
./configure –with-jpeg-dir=/usr/local/jpeg
make
make install

顺利通过

重启服务器, 在看看phpinfo(),嘿嘿,会发现gd库里面会多个JPEG Support,这就是咱想要的哦
当然项目里面的jpeg也可以了,这样就比较麻烦的安装了一次GD库啦,不过下次安装,就会快很多了,在此也记录点滴

最近做一个游戏平台的接口,正好需要泛域名,之前设置虚拟主机,没有用到泛域名的功能,这次正好碰上了,在这里就简单的记录一下了
apache设置虚拟主机的就不在这里介绍了,单刀直入.
Continue reading »

一年又过去了,在这最后回家之前留下最后的手印
原本是为了破解12306.cn的验证码,经过一翻奋斗,还是只处于研究状态,一直没有下手,时间不多,烦心的事多,所以静不下来弄.(来年了,就着手这个了,为了来年能够用自己的程序买到火车票)
机原巧合,在破解图片的时候,想到自己之前写的图片验证码真是弱爆了,所以现在从不容易被人破解的角度重新写了此程序:
主要功能
1.生成字模(在生成字符串字模后,就不需要字体文件)
2.图片中字符旋转和交错
代码在此:(欢迎大家一起来讨论研究更好的实现方法) Continue reading »

以前也遇到过这样的问题
做JS语言包时,一般都是用一个文件定义一个`JSON数据`,此`JSON数据`包含所有JS将要用到的语言如:
var langjs = {
‘admin’:'管理员’,
‘user’:'用户’,
}
“‘user’:'用户’, “,这句话后面的逗号在IE下面会报JS缺少标识符,字符串或数字,也就是IE会报出JS语法错误,而FF则会帮开发者处理掉这小问题,
原本是不应该像上面那样写`JSON数据`的,在做语言包的时候,是为了方便,才这样试着写,因为一直用FF,所以没有发现问题,到IE下测试了一下,才明白问题原来是最后一个’,'造成的,上面`JSON数据`的规范写法: Continue reading »

对于curl,PHP的老鸟们应该不会陌生吧, 什么!!!没用过它,看来你out了
curl的强大,在于它能最大程度上的模拟浏览器行为(个人这样认为,更深的没有研究到)
最近工作时做了一个小功能,当然不是拿工作的时间做自己的私活哦,我可没那习惯!工作上的需要所以才有了这小功能,方便以后的再利用
小数据的抓取,都没问题,因为不怕断网,断了再抓一次呗,可当数据量大的时候,你要知道抓一次需要几个小时,另外数据太大了,怕你的PHP进程伤不起啊!我做过一个很智能的抓取操作,结果就是等它处理等得我心痛!单HTTP请求就有4W多次,公司网络又不太平,悲剧就一次次的发生.看来对于大数据还需要特殊的照顾它才行哦.分页这个没用到过的PHPER应该没有吧!这里用到分页的原理来处理这些操作,其实这些多亏同事提醒,有时就是没想到那方面去,还是人大力量大哇!这里分享一下代码,不足之处请教了
三个文件:
1. collectContent.php 抓取基类,不同的抓取都基于它
2. gainData.php 对于特定的页面,特定的处理,继承抓取基类
3. pbar-ani.gif 漂亮的进度小图片

注意: 对于大数据,这里用分文件的方式处理了,数据抓取回来之后,可以将其随便处理,假多线程就是ajax同时请求不同的分页,这样可以有效的提高抓取速度
Continue reading »

去年十月份在CSDN上发表的 php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录 关注的朋友不少.前两天又发现一个朋友留言说GMAIL好像不能用了,经过测试,确实不能用.
做这种模拟登录,一旦目标网站的登录动作有所改变,我们也得改变,不然也就失效了。其实现在的大型站点比如facebook,window live id,yahoo,gmail这些都有他们的第三方开放平台,不知道这样称呼对不对,意思就是他们会把他们的信息开放给经过他们认证的第三方开发者运用,其实这种方式是最合理的,因为这样基本上你做出来的程序在对方程序更改时,你几乎不用做任何更改,但唯一有一点是不能跟模拟登录比的 Continue reading »

前两天碰到一个问题,就是sql里面对于IN(1,2,4)这样查询出来的数据,无法控制他们的记录顺序
在网上查了一下,现在小小的总结一下:
1.FIND_IN_SET(mysql的内部函数),此函数原型FIND_IN_SET(str, strs),返回str在strs里面的位置,用在order by后面就可以进行我们想要的排序了
2.FIELD(mysql的内部函数),此函数原型FIELD(str, str1, str2…),返回str匹配str1,str2的位置,同样用在order by后面可以排序
Continue reading »

为了方便日后的维护,此认证流程相对比较麻烦些,所以在此整理一下
参考: http://developer.yahoo.com/oauth/guide/oauth-auth-flow.html

大体介绍:
总流程分为五步,分别是:

  1. 登录Yahoo申请应用,得到consumer key 与 consumer secret
  2. 利用consumer key 与 consumer secret换取oauth_ token,即获取请求令牌
  3. 引导用户在Yahoo进行授权,并返回授权的认证签名参数oauth_verifier,同时之前的oauth_ token也会一并返回
  4. 利用返回的oauth_verifier, oauth_token加上第一步的consumer key 与 consumer secret,加上第二步返回的oauth_token_secret,组合起来向Yahoo换取一个访问令牌oauth_token(此时已经是可以访问用户数据的访问令牌,跟之前的请求令牌不一样)
  5. 当访问令牌失效时,可以提交第四步返回的数据,交换一个新的有效令牌.

Continue reading »

今天在群里一个朋友问到关于有问号的重写规则怎么写
如:
将space.php?uid=1转跳到admin.php?do=1(随便举例的)
这里因为重写规则中?是特殊字符,表示某个元素出现1或更多次
这里单单用’\'转意也是没用的
这里需要特殊的处理一下,之前在公司里做服务器的同事也遇到过,也是找了好半天才找到解决的办法(公司是LNMP的集群环境)
现在将上面的列子实现一下:
Continue reading »

生手啊,生手啊,两次操作都如水东流去了(欲哭无泪啊)
夜间网络不稳定,简单总结吧:
自从mysql 5.0.3之后varchar就开始突变了
最大小度从255一下子升到65535了,变化巨大,说基因突变都不为过
实际应用中要注意以下三点:
Continue reading »

© 2012 Buty and php Suffusion theme by Sayontan Sinha